On Tue, Jan 11, 2011 at 11:31 AM, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote: > Is there a document that explains what the meaning of these semantics? > > inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. > kdostartupconfi/3502 [HC1[1]:SC0[0]:HE0:SE1] takes: > (&(&list->lock)->rlock#5){?.-...}, at: [<ffffffff812995c6>] > skb_queue_tail+0x26/0x60 > {HARDIRQ-ON-W} state was registered at: I'm not sure about all the HC1[1]:SC0[0] etc stuff, but check out Documentation/lockdep-design.txt for the basics. In this case, someone took a lock with interrupts enabled (HARDIRQ-ON-W) while someone else took it in a hard IRQ context (IN-HARDIRQ-W) where they are normally disabled. The problem of course is: cpu0: spin_lock(&foo); do some stuff protected by foo; ----> interrupt happens here spin_lock(&foo); /* darn, deadlock! */ other stuff; spin_unlock(&foo); <---- spin_unlock(&foo); Could be a missing _irqsave() if it's not, as Stanislaw suggested, a false positive. -- Bob Copeland %% www.bobcopeland.com -- 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