Creates a new urb for a usb driver to use
struct urb * usb_alloc_urb(int iso_packets, gfp_t mem_flags);
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.
Creates an urb for the USB driver to use, initializes a few internal structures, increments 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.
A pointer to the new urb, or NULL if no memory is available.