On Fri, 23 Mar 2012, [ISO-8859-15] Daniel Gl�er wrote: > Hi, > after debugging a problem between a hcd and a usb device driver, I'd like to > fix the one at fault. What was the problem? And which HCD and device driver? > Is the urb complete callback always supposed to be called with irqs disabled? Yes. > > Documentation/usb/URB.txt tells us complete() is _normally_ called during > hardware interrupt processing and usb_hcd_giveback_urb() is documented with > "Context: in_interrupt()", but this is obviously not the case when it is > called f.ex. from rh_call_control(). It makes sure irqs are disabled, though. That's right. The documentation and kerneldoc, and the comments in include/linux/usb.h, should all be updated. The completion handler is _always_ called with interrupts disabled, often (but not always) in interrupt context. Would you like to submit a patch to take care of this? Alan Stern -- 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