On 01/11/2011 01:45 PM, Bob Copeland wrote: > 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. That one I had read. > 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. I suspected the message meant mixed interrupts disabled/enabled, but thanks for the confirmation. Thanks, Larry -- 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