usb_poison_urb(9) suse man page | unix.com

Man Page: usb_poison_urb

Operating Environment: suse

Section: 9

USB_POISON_URB(9)						   USB Core APIs						 USB_POISON_URB(9)

NAME
usb_poison_urb - reliably kill a transfer and prevent further use of an URB
SYNOPSIS
void usb_poison_urb(struct urb * urb);
ARGUMENTS
urb pointer to URB describing a previously submitted request, may be NULL
DESCRIPTION
This routine cancels an in-progress request. It is guaranteed that upon return all completion handlers will have finished and the URB will be totally idle and cannot be reused. These features make this an ideal way to stop I/O in a disconnect callback. If the request has not already finished or been unlinked the completion handler will see urb->status == -ENOENT. After and while the routine runs, attempts to resubmit the URB will fail with error -EPERM. Thus even if the URB's completion handler always tries to resubmit, it will not succeed and the URB will become idle. This routine may not be used in an interrupt context (such as a bottom half or a completion handler), or when holding a spinlock, or in other situations where the caller can't schedule. This routine should not be called by a driver after its disconnect method has returned.
COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 USB_POISON_URB(9)
Related Man Pages
usb_submit_urb(9) - suse
usb_control_msg(9) - centos
usb_interrupt_msg(9) - centos
usb_kill_urb(9) - centos
usb_submit_urb(9) - centos
Similar Topics in the Unix Linux Community
Migrating to UNIX
Cut command on RHEL 6.8 compatibility issues
SOCKS proxy & PAM configuration exposure
The Future of the PM (Private Message) System at UNIX.com
32 bit process addressing more than 4GB