Commit 08e1f986 authored by Johan Hovold's avatar Johan Hovold Committed by Sasha Levin

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

[ Upstream commit d81182ce ]

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>
Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
parent 0758e6a9
...@@ -1932,7 +1932,7 @@ ss_hub_descriptor(struct usb_hub_descriptor *desc) ...@@ -1932,7 +1932,7 @@ ss_hub_descriptor(struct usb_hub_descriptor *desc)
HUB_CHAR_COMMON_OCPM); HUB_CHAR_COMMON_OCPM);
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 hub_descriptor(struct usb_hub_descriptor *desc) static inline void hub_descriptor(struct usb_hub_descriptor *desc)
...@@ -1944,8 +1944,8 @@ static inline void hub_descriptor(struct usb_hub_descriptor *desc) ...@@ -1944,8 +1944,8 @@ static inline void hub_descriptor(struct usb_hub_descriptor *desc)
HUB_CHAR_INDV_PORT_LPSM | HUB_CHAR_INDV_PORT_LPSM |
HUB_CHAR_COMMON_OCPM); HUB_CHAR_COMMON_OCPM);
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