Re: [REGRESSION] 2.6.24/25: random lockups when accessing externalUSB harddrive

From: Stefan Becker
Date: Thu Jun 26 2008 - 02:38:56 EST


Hi,

ext Alan Stern wrote:
On Wed, 25 Jun 2008, Stefan Becker wrote:

HCD URB list locked by usb_hcd_link_urb_to_ep!

As far as I understand the matter this only can happen if usb_hcd_link_urb_to_ep() gets interrupted while holding the spinlock. But according to the contract at the header of the function it should be called with interrupts disabled!

So it should. Do you know how to test whether interrupts are enabled? There's a routine called raw_irqs_disabled() defined in include/asm/irqflags.h. Stick it inside usb_hcd_link_urb_to_ep, and the first time it returns nonzero, do a dump_stack().

Tried both and got nothing. So either our reasoning is wrong or something really weird is going on. I'll try to improve my debugging code and use dump_stack() at the place where it locks up.

Regards,

Stefan

---
Stefan Becker
E-Mail: Stefan.Becker@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/