.\" This documentation was generated from the book titled "The Linux-USB Host Side API", which is part of the Linux kernel source. .\" .\" This documentation comes with the following legal notice: .\" .\" This documentation is free software; you can redistribute .\" it and/or modify it under the terms of the GNU General Public .\" License as published by the Free Software Foundation; either .\" version 2 of the License, or (at your option) any later .\" version. .\" .\" This program is distributed in the hope that it will be .\" useful, but WITHOUT ANY WARRANTY; without even the implied .\" warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .\" See the GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this program; if not, write to the Free .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, .\" MA 02111-1307 USA .\" .\" For more details see the file COPYING in the source .\" distribution of Linux. .\" .\" For comments on the formatting of this manpage, please contact Michael Still .\" 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_UNLINK_URB" "9" "09 April 2004" "" "" .SH NAME usb_unlink_urb \- abort/cancel a transfer request for an endpoint .SH SYNOPSIS .sp \fB .sp int usb_unlink_urb (struct urb * \fIurb\fB); \fR .SH "ARGUMENTS" .TP \fB\fIurb\fB\fR pointer to urb describing a previously submitted request .SH "DESCRIPTION" .PP This routine cancels an in-progress request. URBs complete only once per submission, and may be canceled only once per submission. Successful cancelation means the requests's completion handler will be called with a status code indicating that the request has been canceled (rather than any other code) and will quickly be removed from host controller data structures. .PP When the URB_ASYNC_UNLINK transfer flag for the URB is clear, this request is synchronous. Success is indicated by returning zero, at which time the urb will have been unlinked and its completion handler will have been called with urb->status -ENOENT. Failure is indicated by any other return value. .PP The synchronous cancelation mode may not be used when unlinking an urb from an interrupt context, such as a bottom half or a completion handler; or when holding a spinlock; or in other cases when the caller can't \fBschedule\fR. .PP When the URB_ASYNC_UNLINK transfer flag for the URB is set, this request is asynchronous. Success is indicated by returning -EINPROGRESS, at which time the urb will normally not have been unlinked. The completion function will see urb->status -ECONNRESET. Failure is indicated by any other return value. .SH "ABOUT THIS DOCUMENT" .PP This documentation was generated with kernel version 2.6.0.