USB_LOCK_DEVICE_FOR_(9) USB Core APIs USB_LOCK_DEVICE_FOR_(9)
NAME
usb_lock_device_for_reset - cautiously acquire the lock for a usb device structure
SYNOPSIS
int usb_lock_device_for_reset(struct usb_device * udev, const struct usb_interface * iface);
ARGUMENTS
udev
device that's being locked
iface
interface bound to the driver making the request (optional)
DESCRIPTION
Attempts to acquire the device lock, but fails if the device is NOTATTACHED or SUSPENDED, or if iface is specified and the interface is
neither BINDING nor BOUND. Rather than sleeping to wait for the lock, the routine polls repeatedly. This is to prevent deadlock with
disconnect; in some drivers (such as usb-storage) the disconnect or suspend method will block waiting for a device reset to complete.
Returns a negative error code for failure, otherwise 0.
COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 USB_LOCK_DEVICE_FOR_(9)