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 completion
SYNOPSIS¶
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¶
dev
pipe
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.
If successful, it returns the number of bytes transferred, otherwise a negative error number.
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.
COPYRIGHT¶
May 2024 | Kernel Hackers Manual 2.6. |