Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

usb_free_urb(9) [centos man page]

USB_FREE_URB(9) 						   USB Core APIs						   USB_FREE_URB(9)

usb_free_urb - frees the memory used by a urb when all users of it are finished SYNOPSIS
void usb_free_urb(struct urb * urb); ARGUMENTS
urb pointer to the urb to free, may be NULL DESCRIPTION
Must be called when a user of a urb is finished with it. When the last user of the urb calls this function, the memory of the urb is freed. NOTE
The transfer buffer associated with the urb is not freed unless the URB_FREE_BUFFER transfer flag is set. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 USB_FREE_URB(9)

Check Out this Related Man Page

USB_POISON_URB(9)						   USB Core APIs						 USB_POISON_URB(9)

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. The URB must not be deallocated while this routine is running. In particular, when a driver calls this routine, it must insure that the completion handler cannot deallocate the URB. 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 3.10 June 2014 USB_POISON_URB(9)
Man Page