Creates an urb for the USB driver to use and returns a pointer to it. If no memory is available, NULL is returned.
If the driver want to use this urb for interrupt, control, or bulk endpoints, pass '0' as the number of iso packets.
The driver should call usb_free_urb
when it is finished with the urb.