I'll look at this some later, though I seem to have missed a post with the diagnostic saying what lock is being recursed. That particular chunk of code has periodically turned up problems, and isn't very pretty. But the most curious aspect of it is that it seemed to shake out HCD-specific behaviors. (We've gotten rid of most such code by now, this is a slight exception. Specifically, HCDs that could unlink speedily without certain locking patterns (ISTR OHCI and EHCI, if not also UHCI) didn't trigger oddness. But some other HCDs, with different approaches to unlinking URBs, were less happy. ( I was likely working with MUSB at the time.) I spent some time trying to rework that code in "usbnet", but no clean-and-obvious solutions became apparent when I did that (a few years back). Plus, ISTR being the only person to find issues (back then), so I couldn't make an argument to spend much more time on it. Hope that helps anyone trying to fix this. - Dave -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html