usb_reset_device(9)

NAME

usb_reset_device - perform a USB port reset to reinitialize a device

SYNOPSIS

int usb_reset_device(struct usb_device * udev);

ARGUMENTS

udev
device to reset (not in SUSPENDED or NOTATTACHED state)

DESCRIPTION

WARNING - donīt use this routine to reset a composite device (one with multiple interfaces owned by separate drivers)! Use
usb_reset_composite_device instead.

Do a port reset, reassign the deviceīs address, and establish its
former operating configuration. If the reset fails, or the deviceīs
descriptors change from their values before the reset, or the original configuration and altsettings cannot be restored, a flag will be set
telling khubd to pretend the device has been disconnected and then
re-connected. All drivers will be unbound, and the device will be
re-enumerated and probed all over again.

Returns 0 if the reset succeeded, -ENODEV if the device has been
flagged for logical disconnection, or some other negative error code if the reset wasnīt even attempted.

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.

LOCKING EXCEPTION

This routine may also be called from within an autoresume handler. Such usage wonīt conflict with other tasks holding the device lock because
these tasks should always call usb_autopm_resume_device, thereby preventing any unwanted autoresume.

COPYRIGHT

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout