On Wed, May 10, 2017 at 10:00:35AM -0400, Alan Stern wrote: > On Wed, 10 May 2017, Johan Hovold wrote: > > > Only flag the first and only port as non-removable in accordance with > > the specifications, while also leaving the reserved bit zero unset. > > > > "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: 1cd8fd2887e1 ("usb: gadget: dummy_hcd: add SuperSpeed support") > > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") > > Cc: Tatyana Brokhman <tlinder@xxxxxxxxxxxxxx> > > Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> > > --- > > drivers/usb/gadget/udc/dummy_hcd.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c > > index c79081952ea0..17fc2fa2b2b1 100644 > > --- a/drivers/usb/gadget/udc/dummy_hcd.c > > +++ b/drivers/usb/gadget/udc/dummy_hcd.c > > @@ -2008,7 +2008,7 @@ ss_hub_descriptor(struct usb_hub_descriptor *desc) > > HUB_CHAR_COMMON_OCPM); > > desc->bNbrPorts = 1; > > desc->u.ss.bHubHdrDecLat = 0x04; /* Worst case: 0.4 micro sec*/ > > - desc->u.ss.DeviceRemovable = 0xffff; > > + desc->u.ss.DeviceRemovable = cpu_to_le16(BIT(1)); > > } > > > > static inline void hub_descriptor(struct usb_hub_descriptor *desc) > > @@ -2020,8 +2020,8 @@ static inline void hub_descriptor(struct usb_hub_descriptor *desc) > > HUB_CHAR_INDV_PORT_LPSM | > > HUB_CHAR_COMMON_OCPM); > > desc->bNbrPorts = 1; > > - desc->u.hs.DeviceRemovable[0] = 0xff; > > - desc->u.hs.DeviceRemovable[1] = 0xff; > > + desc->u.hs.DeviceRemovable[0] = BIT(1); > > Shouldn't these values be 0? The gadget attached to dummy-hcd _is_ > removable; it can be removed by rmmod. Yes, you're right. I'll respin this one. Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html