usb_hcd_giveback_urb — return URB from HCD to device driver
host controller returning the URB
urb being returned to the USB device driver.
completion status code for the URB.
in_interrupt
This hands the URB from HCD to its USB device driver, using its completion function. The HCD has freed all per-urb resources (and is done using urb->hcpriv). It also released all HCD locks; the device driver won't cause problems if it frees, modifies, or resubmits this URB.
If urb was unlinked, the value of status will be overridden by urb->unlinked. Erroneous short transfers are detected in case the HCD hasn't checked for them.