- stretch 4.9.168-1
USB_CONTROL_MSG(9) | USB Core APIs | USB_CONTROL_MSG(9) |
NAME¶
usb_control_msg - Builds a control urb, sends it off and waits for completionSYNOPSIS¶
int usb_control_msg(struct usb_device * dev, unsigned int pipe, __u8 request, __u8 requesttype, __u16 value, __u16 index, void * data, __u16 size, int timeout);
ARGUMENTS¶
devpipe
request
requesttype
value
index
data
size
timeout
CONTEXT¶
!in_interrupt ()DESCRIPTION¶
This function sends a simple control message to a specified endpoint and waits for the message to complete, or timeout.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.
RETURN¶
If successful, the number of bytes transferred. Otherwise, a negative error number.COPYRIGHT¶
April 2019 | Kernel Hackers Manual 4.9. |