Provided by: kernel-doc-2.4.27_2.4.27-12_all bug


       usb_control_msg  -   Builds  a  control urb, sends it off and waits for


       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);


       dev          pointer to the usb device to send the message to

       pipe         endpoint "pipe" to send the message to

       request      USB message request value

       requesttype  USB message request type value

       value        USB message value

       index        USB message index value

       data         pointer to the data to send

       size         length in bytes of the data to send

       timeout      time to wait for the message to complete before timing out
                   (if 0 the wait is forever)


       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,
       it returns a negative error number.

       Don’t use this function from within an interrupt context, like a bottom
       half handler.  If you need a asyncronous message, or  need  to  send  a
       message from within interrupt context, use usb_submit_urb