RE: [PATCH v7 1/5] usb: Adding SuperSpeed support to dummy_hcd

From: Tanya Brokhman
Date: Thu Feb 10 2011 - 08:01:30 EST


> > + if (dum->gadget.speed < USB_SPEED_SUPER)
> > + max &= 0x3ff;
>
> Strictly speaking, both the old and the new code are wrong. For all
> devices, regardless of speed, we should say:
>
> max = le16_to_cpu(desc->wMaxPacketSize) & 0x7ff;
>
> In other words, the speed is contained in bits 0..10 (not 0..9).
>

You're right about HS/FS/LS devices but I see something different in the
USB30 spec for SS devices. Could you please refer me to what errata this was
mentioned in? I looked through them and according to errata from 01/15/09
the definition of wMaxPacketSize field in the SS endpoint descriptor is:

"Maximum packet size this endpoint is capable of sending or receiving when
this configuration is selected. For control endpoints this field shall be
set to 512. For bulk endpoint types this field shall be set to 1024."

So according to the above, for SS devices, the whole 2 bytes contain the
maxpacketsize and not only bits 0..10.
Am I missing something?

I'll fix this for all devised but SS.


Best regards,
Tanya Brokhman
Consultant for Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/