Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug


       usb_clear_halt - tells device to clear endpoint halt/stall condition


       int usb_clear_halt  (struct usb_device * dev, int pipe);


       dev    device whose endpoint is halted

       pipe   endpoint ‘‘pipe’’ being cleared


       !in_interrupt ()


       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.

       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.

       This  call is synchronous, and may not be used in an interrupt context.

       Returns zero on success, or  else  the  status  code  returned  by  the
       underlying usb_control_msg call.