summaryrefslogtreecommitdiff
path: root/sys/dev/usb/files.usb
diff options
context:
space:
mode:
authorsasano <sasano@cvs.openbsd.org>2010-09-21 12:25:35 +0000
committersasano <sasano@cvs.openbsd.org>2010-09-21 12:25:35 +0000
commitbe4ef17b63b6fc792ae56bfb44e8e58aa869f97a (patch)
tree0916324a71a46d48d528e8e05c489dcf1e7bee6d /sys/dev/usb/files.usb
parent4c7e1d738e7f47cfca98e7c5c7e0e7c678e311ce (diff)
The size of sc_status[] (the buffer for USB hub's interrupt pipe) will be
determined by bNbrPorts in hub descriptor. USB hub sends status packet to host, it contains status bits for each port and hub itself. So, the packet size is ceil((port + 1) / 8) bytes. If host requests smaller than that size, the hub behavior is undefined. Some hub (Intel's RMH for example) sends whole status every time, it makes babble of USB. This is the reason that uhub_intr() of old code was suffered from USBD_IOERROR, Okay deraadt@ and yuo@.
Diffstat (limited to 'sys/dev/usb/files.usb')
0 files changed, 0 insertions, 0 deletions