Login or Register to Ask a Question and Join Our Community

Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

usb_alloc_urb(9) [centos man page]

USB_ALLOC_URB(9)						   USB Core APIs						  USB_ALLOC_URB(9)

NAME
usb_alloc_urb - creates a new urb for a USB driver to use SYNOPSIS
struct urb * usb_alloc_urb(int iso_packets, gfp_t mem_flags); ARGUMENTS
iso_packets number of iso packets for this urb mem_flags the type of memory to allocate, see kmalloc for a list of valid options for this. DESCRIPTION
Creates an urb for the USB driver to use, initializes a few internal structures, incrementes the usage counter, and returns a pointer to it. If the driver want to use this urb for interrupt, control, or bulk endpoints, pass '0' as the number of iso packets. The driver must call usb_free_urb when it is finished with the urb. RETURN
A pointer to the new urb, or NULL if no memory is available. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 USB_ALLOC_URB(9)

Check Out this Related Man Page

USB_KILL_URB(9) 						   USB Core APIs						   USB_KILL_URB(9)

NAME
usb_kill_urb - cancel a transfer request and wait for it to finish SYNOPSIS
void usb_kill_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 available for reuse. These features make this an ideal way to stop I/O in a disconnect callback or close function. If the request has not already finished or been unlinked the completion handler will see urb->status == -ENOENT. While the routine is running, 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_KILL_URB(9)
Man Page

Featured Tech Videos