Another separate issue,still focus on this piece of code,(inside
drivers/usb/core/hub.c, hub_configure())
> >
> > 570 switch (hdev->descriptor.bDeviceProtocol) {
> > 571 case 0:
> > 572 break;
> > 573 case 1:
> > 574 dev_dbg(hub_dev, "Single TT\n");
> > 575 hub->tt.hub = hdev;
> > 576 break;
> > 577 case 2:
> > 578 ret = usb_set_interface(hdev, 0, 1);
> > 579 if (ret == 0) {
> > 580 dev_dbg(hub_dev, "TT per port\n");
> > 581 hub->tt.multi = 1;
> > 582 } else
> > 583 dev_err(hub_dev, "Using single
> > TT (err %d)\n",
> > 584 ret);
> > ...
see case 2,note that usb_set_interface() is called,I don't understand
the purpose of calling this function,you know,based on usb spec 2.0,
Table 11-14, "hubs are allowed to support only one interface",thus
neither GET_INTERFACE nor SET_INTERFACE is supported by hubs,or say,
undefined.So I also looked through the internal part of
usb_set_interface,maybe we actually won't send any request to the
hub,but why we call this function at this situation.
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