On 11/01/2011 01:08 PM, Vasanthakumar Thiagarajan wrote: > 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@xxxxxxxxxxxxxxxx> > Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Thanks, applied. Kalle -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html