.\" 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_CLEAR_HALT" "9" "09 October 2005" "" ""
.SH NAME
usb_clear_halt \- tells device to clear endpoint halt/stall condition
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int usb_clear_halt (struct usb_device * \fIdev\fB, int \fIpipe\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIdev\fB\fR
device whose endpoint is halted
.TP
\fB\fIpipe\fB\fR
endpoint ``pipe'' being cleared
.SH "CONTEXT"
.PP
!in_interrupt ()
.SH "DESCRIPTION"
.PP
This is used to clear halt conditions for bulk and interrupt endpoints,
as reported by URB completion status. Endpoints that are halted are
sometimes referred to as being ``stalled''\&. Such endpoints are unable
to transmit or receive data until the halt status is cleared. Any URBs
queued for such an endpoint should normally be unlinked by the driver
before clearing the halt condition, as described in sections 5.7.5
and 5.8.5 of the USB 2.0 spec.
.PP
Note that control and isochronous endpoints don't halt, although control
endpoints report ``protocol stall'' (for unsupported requests) using the
same status code used to report a true stall.
.PP
This call is synchronous, and may not be used in an interrupt context.
.PP
Returns zero on success, or else the status code returned by the
underlying \fBusb_control_msg\fR call.