mirror of
https://github.com/torvalds/linux
synced 2024-10-27 21:59:21 +00:00
![]() The following is the lockdep warning which detects possible deadlock condition with the way ar->lock and ar->list_lock are being used. (&(&ar->lock)->rlock){+.-...}, at: [<ffffffffa0492d13>] ath6kl_indicate_tx_activity+0x83/0x110 [ath6kl] but this lock took another, SOFTIRQ-unsafe lock in the past: (&(&ar->list_lock)->rlock){+.+...} and interrupts could create inverse lock ordering between them. other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&(&ar->list_lock)->rlock); local_irq_disable(); lock(&(&ar->lock)->rlock); lock(&(&ar->list_lock)->rlock); <Interrupt> lock(&(&ar->lock)->rlock); *** DEADLOCK *** softirqs have to be disabled when acquiring ar->list_lock to avoid the above deadlock condition. When the above warning printed the interface is still up and running without issue. Reported-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> |
||
---|---|---|
.. | ||
bmi.c | ||
bmi.h | ||
cfg80211.c | ||
cfg80211.h | ||
common.h | ||
core.h | ||
debug.c | ||
debug.h | ||
hif-ops.h | ||
hif.c | ||
hif.h | ||
htc.c | ||
htc.h | ||
init.c | ||
Kconfig | ||
main.c | ||
Makefile | ||
sdio.c | ||
target.h | ||
testmode.c | ||
testmode.h | ||
txrx.c | ||
wmi.c | ||
wmi.h |