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.
Don't use this function from within an interrupt context. 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¶
June 2024 | Kernel Hackers Manual 3.10 |