usb_dev
pipe
data
len
actual_length
timeout
This function sends a simple interrupt message to a specified endpoint and waits for the message to complete, or timeout.
If successful, it returns 0, otherwise a negative error number. The number of actual bytes transferred will be stored in the actual_length paramater.
Don't use this function from within an interrupt context, like a bottom half handler. If you need an asynchronous message, or need to send a message from within interrupt context, use usb_submit_urb If a thread in your driver uses this call, make sure your disconnect method can wait for it to complete. Since you don't have a handle on the URB used, you can't cancel the request.