1. NAME▲
usb_interrupt_msg - Builds an interrupt urb, sends it off and waits for completion
2. SYNOPSIS ▲
int usb_interrupt_msg(struct usb_device * usb_dev , unsigned int pipe , void * data , int len , int * actual_length , int timeout );
3. ARGUMENTS ▲
usb_dev
pointer to the usb device to send the message to
pipe
endpoint « pipe » to send the message to
data
pointer to the data to send
len
length in bytes of the data to send
actual_length
pointer to a location to put the actual length transferred in bytes
timeout
time in msecs to wait for the message to complete before timing out (if 0 the wait is forever)
4. CONTEXT ▲
!in_interrupt ()
5. DESCRIPTION ▲
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.
DonAqt 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 donAqt have a handle on the URB used, you canAqt cancel the request.
6. COPYRIGHT ▲