xhci: Limit roothub ports to 15 USB3 & 31 USB2 ports.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 23 Nov 2010 18:42:22 +0000 (10:42 -0800)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Mon, 14 Mar 2011 01:23:42 +0000 (18:23 -0700)
commitd30b2a208108a0b0fdeae7006b8824d9be16ca96
tree43df86628f31b4ad46d82258c8d8a1a8e88ae625
parent4bbb0ace9a3de8392527e3c87926309d541d3b00
xhci: Limit roothub ports to 15 USB3 & 31 USB2 ports.

The USB core allocates a USB 2.0 roothub descriptor that has room for 31
(USB_MAXCHILDREN) ports' worth of DeviceRemovable and PortPwrCtrlMask
fields.  Limit the number of USB 2.0 roothub ports accordingly.  I don't
expect to run into this limitation ever, but this prevents a buffer
overflow issue in the roothub descriptor filling code.

Similarly, a USB 3.0 hub can only have 15 downstream ports, so limit the
USB 3.0 roothub to 15 USB 3.0 ports.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/host/xhci-mem.c