usb_reset_composite_device
Prev | Chapter 5. USB Core APIs | Next

## Name

usb_reset_composite_device — warn interface drivers and perform a USB port reset

## Synopsis

`int usb_reset_composite_device (` | struct usb_device * | udev,
| struct usb_interface * | iface`)`;

## Arguments

`udev`

  device to reset (not in SUSPENDED or NOTATTACHED state)

`iface`

  interface bound to the driver making the request (optional)

## Description

Warns all drivers bound to registered interfaces (using their pre_reset method), performs the port reset, and then lets the drivers know that the reset is over (using their post_reset method).

Return value is the same as for `usb_reset_device`.

The caller must own the device lock. For example, it's safe to use this from a driver `probe` routine after downloading new firmware. For calls that might not occur during `probe`, drivers should lock the device using `usb_lock_device_for_reset`.

The interface locks are acquired during the pre_reset stage and released during the post_reset stage. However if iface is not NULL and is currently being probed, we assume that the caller already owns its lock.

Prev | Up | Next
usb_reset_device | Home | Chapter 6. Host Controller APIs