.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "USB_RESET_CONFIGURATION" "9" "09 October 2005" "" ""
.SH NAME
usb_reset_configuration \- lightweight device reset
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int usb_reset_configuration (struct usb_device * \fIdev\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIdev\fB\fR
the device whose configuration is being reset
.SH "DESCRIPTION"
.PP
This issues a standard SET_CONFIGURATION request to the device using
the current configuration. The effect is to reset most USB-related
state in the device, including interface altsettings (reset to zero),
endpoint halts (cleared), and data toggle (only for bulk and interrupt
endpoints). Other usbcore state is unchanged, including bindings of
usb device drivers to interfaces.
.PP
Because this affects multiple interfaces, avoid using this with composite
(multi-interface) devices. Instead, the driver for each interface may
use \fBusb_set_interface\fR on the interfaces it claims. Be careful though;
some devices don't support the SET_INTERFACE request, and others won't
reset all the interface state (notably data toggles). Resetting the whole
configuration would affect other drivers' interfaces.
.PP
The caller must own the device lock.
.PP
Returns zero on success, else a negative error code.