USB_UNLINK_URB

Section: (9)
Updated: 07 August 2003
Index Return to Main Contents
 

NAME

usb_unlink_urb - abort/cancel a transfer request for an endpoint  

SYNOPSIS

int usb_unlink_urb (struct urb * urb);  

ARGUMENTS

urb
pointer to urb describing a previously submitted request
 

DESCRIPTION

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.

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.

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 schedule.

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.  

ABOUT THIS DOCUMENT

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.

If you have comments on the formatting of this manpage, then please contact Michael Still (mikal@stillhq.com).

This documentation was generated with kernel version 2.6.0.


 

Index

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION
ABOUT THIS DOCUMENT

This document was created by man2html, using the manual pages.
Time: 04:27:50 GMT, August 07, 2003