.\" 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" "07 August 2003" "" ""
.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 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.
.PP
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.
.PP
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
.PP
For more details see the file COPYING in the source
distribution of Linux.
.PP
If you have comments on the formatting of this manpage, then please contact
Michael Still (mikal@stillhq.com).
.PP
This documentation was generated with kernel version 2.6.0.