Sorry I cannot find this in usb 2.0 spec.
But inside the code,drivers/usb/core/hub.c:
103 /* USB 2.0 spec Section 11.24.4.5 */
104 static int get_hub_descriptor(struct usb_device *hdev, void
*data, int size)
105 {
106 int i, ret;
107
108 for (i = 0; i < 3; i++) {
109 ret = usb_control_msg(hdev, usb_rcvctrlpipe(hdev, 0),
110 USB_REQ_GET_DESCRIPTOR, USB_DIR_IN | USB_RT_HUB,
111 USB_DT_HUB << 8, 0, data, size,
112 HZ * USB_CTRL_GET_TIMEOUT);
113 if (ret >= (USB_DT_HUB_NONVAR_SIZE + 2))
114 return ret;
115 }
116 return -EINVAL;
117 }
what does this macro mean? And why here we loop three times?
Thanks
Jason Xiao
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel