usb_hcd_giveback_urb
Prev | Chapter 6. Host Controller APIs | Next

## Name

usb_hcd_giveback_urb — return URB from HCD to device driver

## Synopsis

`void usb_hcd_giveback_urb (` | struct usb_hcd * | hcd,
| struct urb * | urb,
| int | status`)`;

## Arguments

`hcd`

  host controller returning the URB

`urb`

  urb being returned to the USB device driver.

`status`

  completion status code for the URB.

## Context

`in_interrupt`

## Description

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.

Prev | Up | Next
usb_hcd_unlink_urb_from_ep | Home | usb_hcd_resume_root_hub