diff options
author | zbb <zbb@FreeBSD.org> | 2015-10-25 22:17:10 +0000 |
---|---|---|
committer | zbb <zbb@FreeBSD.org> | 2015-10-25 22:17:10 +0000 |
commit | 833e6c9b490098b9d91894c30afc8571358b6b77 (patch) | |
tree | b1990fdbfd3ab4888db282daa439a1f9bc7c048b /sys/dev/mge | |
parent | 6644b9d363df4744ff08866bbbce831ab3ec6bf4 (diff) | |
download | FreeBSD-src-833e6c9b490098b9d91894c30afc8571358b6b77.zip FreeBSD-src-833e6c9b490098b9d91894c30afc8571358b6b77.tar.gz |
Change improper locking assertion in mge
Assertion used here was invalid. If current thread helds any of locks,
we never want to recurse on them.
Obtained from: Semihalf
Submitted by: Bartosz Szczepanek <bsz@semihalf.com>
Differential revision: https://reviews.freebsd.org/D3903
Diffstat (limited to 'sys/dev/mge')
-rw-r--r-- | sys/dev/mge/if_mgevar.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/mge/if_mgevar.h b/sys/dev/mge/if_mgevar.h index 1888efb..31b9ac3 100644 --- a/sys/dev/mge/if_mgevar.h +++ b/sys/dev/mge/if_mgevar.h @@ -137,10 +137,8 @@ struct mge_softc { #define MGE_RECEIVE_LOCK_ASSERT(sc) mtx_assert(&(sc)->receive_lock, MA_OWNED) #define MGE_GLOBAL_LOCK(sc) do { \ - if ((mtx_owned(&(sc)->transmit_lock) ? 1 : 0) != \ - (mtx_owned(&(sc)->receive_lock) ? 1 : 0)) { \ - panic("mge deadlock possibility detection!"); \ - } \ + mtx_assert(&(sc)->transmit_lock, MA_NOTOWNED); \ + mtx_assert(&(sc)->receive_lock, MA_NOTOWNED); \ mtx_lock(&(sc)->transmit_lock); \ mtx_lock(&(sc)->receive_lock); \ } while (0) |