Commit bf6cca75 authored by Johan Hovold's avatar Johan Hovold Committed by Ben Hutchings

USB: gadget: dummy_hcd: fix hub-descriptor removable fields

commit d81182ce upstream.

Flag the first and only port as removable while also leaving the
remaining bits (including the reserved bit zero) unset in accordance
with the specifications:

	"Within a byte, if no port exists for a given location, the bit
	field representing the port characteristics shall be 0."

Also add a comment marking the legacy PortPwrCtrlMask field.

Fixes: 1cd8fd28 ("usb: gadget: dummy_hcd: add SuperSpeed support")
Fixes: 1da177e4 ("Linux-2.6.12-rc2")
Cc: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 3cb4b35a
...@@ -1770,7 +1770,7 @@ ss_hub_descriptor(struct usb_hub_descriptor *desc) ...@@ -1770,7 +1770,7 @@ ss_hub_descriptor(struct usb_hub_descriptor *desc)
desc->wHubCharacteristics = cpu_to_le16(0x0001); desc->wHubCharacteristics = cpu_to_le16(0x0001);
desc->bNbrPorts = 1; desc->bNbrPorts = 1;
desc->u.ss.bHubHdrDecLat = 0x04; /* Worst case: 0.4 micro sec*/ desc->u.ss.bHubHdrDecLat = 0x04; /* Worst case: 0.4 micro sec*/
desc->u.ss.DeviceRemovable = 0xffff; desc->u.ss.DeviceRemovable = 0;
} }
static inline void static inline void
...@@ -1781,8 +1781,8 @@ hub_descriptor (struct usb_hub_descriptor *desc) ...@@ -1781,8 +1781,8 @@ hub_descriptor (struct usb_hub_descriptor *desc)
desc->bDescLength = 9; desc->bDescLength = 9;
desc->wHubCharacteristics = cpu_to_le16(0x0001); desc->wHubCharacteristics = cpu_to_le16(0x0001);
desc->bNbrPorts = 1; desc->bNbrPorts = 1;
desc->u.hs.DeviceRemovable[0] = 0xff; desc->u.hs.DeviceRemovable[0] = 0;
desc->u.hs.DeviceRemovable[1] = 0xff; desc->u.hs.DeviceRemovable[1] = 0xff; /* PortPwrCtrlMask */
} }
static int dummy_hub_control ( static int dummy_hub_control (
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment