Hi, ext Alan Stern wrote:Well, I guess I'm just lucky it didn't turn into a heisenbug with all those printk's in the code :-) Unfortunately I could only run a small test today. I added some simple debugging code for the spinlock usage in hcd.c (see attached diff) and I get the following message at lockup (I tried it twice just to be sure): 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! I guess the obvious way forward from here is: - replace the spin_lock() in the function with the irqsave version - if that fixes the problem add debugging code to the function and panic with a stack trace when the interrupts aren't disabled one entry (don't know how to detect that yet, any suggestions?) That hopefully identifies the culprit that calls the function with interrupts enabled. Regards, Stefan --- Stefan Becker E-Mail: Stefan.Becker@nokia.com
| Trent Piepho | [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
| Stoyan Gaydarov | From 2.4 to 2.6 to 2.7? |
| Andi Kleen | [PATCH] [4/50] x86: add cpu codenames for Kconfig.cpu |
| Greg Kroah-Hartman | [PATCH 013/196] Documentation: Replace obsolete "driverfs" with "sysfs". |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | Re: HTB accuracy for high speed |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | Re: [GIT]: Networking |
