mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00
![]() tg3_init_one() calls tg3_halt() without tp->lock despite its assumption
and causes deadlock.
If lockdep is enabled, a warning like this shows up before the stall:
[ BUG: bad unlock balance detected! ]
3.19.0test #3 Tainted: G E
-------------------------------------
insmod/369 is trying to release lock (&(&tp->lock)->rlock) at:
[<ffffffffa02d5a1d>] tg3_chip_reset+0x14d/0x780 [tg3]
but there are no more locks to release!
tg3_init_one() doesn't call tg3_halt() under normal situation but
during kexec kdump I hit this problem.
Fixes:
|
||
---|---|---|
.. | ||
bnx2x | ||
genet | ||
b44.c | ||
b44.h | ||
bcm63xx_enet.c | ||
bcm63xx_enet.h | ||
bcmsysport.c | ||
bcmsysport.h | ||
bgmac.c | ||
bgmac.h | ||
bnx2.c | ||
bnx2.h | ||
bnx2_fw.h | ||
cnic.c | ||
cnic.h | ||
cnic_defs.h | ||
cnic_if.h | ||
Kconfig | ||
Makefile | ||
sb1250-mac.c | ||
tg3.c | ||
tg3.h |