Re: urb->complete() callback context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux