On Wed, 2013-10-23 at 16:14 -0500, Thomas Pugliese wrote: > > On Thu, 24 Oct 2013, Sergei Shtylyov wrote: > > > Hello. > > > > On 10/23/2013 11:44 PM, Thomas Pugliese wrote: > > > > > For isochronous endpoints, set the RPIPE wMaxPacketSize value using > > > wOverTheAirPacketSize from the endpoint companion descriptor instead of > > > wMaxPacketSize from the normal endpoint descriptor. > > > > > Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> > > > --- > > > drivers/usb/wusbcore/wa-rpipe.c | 5 ++++- > > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > > diff --git a/drivers/usb/wusbcore/wa-rpipe.c > > > b/drivers/usb/wusbcore/wa-rpipe.c > > > index 1ed068a..b48e74c 100644 > > > --- a/drivers/usb/wusbcore/wa-rpipe.c > > > +++ b/drivers/usb/wusbcore/wa-rpipe.c > > > @@ -334,7 +334,10 @@ static int rpipe_aim(struct wa_rpipe *rpipe, struct > > > wahc *wa, > > > /* FIXME: compute so seg_size > ep->maxpktsize */ > > > rpipe->descr.wBlocks = cpu_to_le16(16); /* given */ > > > /* ep0 maxpktsize is 0x200 (WUSB1.0[4.8.1]) */ > > > - rpipe->descr.wMaxPacketSize = cpu_to_le16(ep->desc.wMaxPacketSize); > > > + if (usb_endpoint_xfer_isoc(&ep->desc)) > > > + rpipe->descr.wMaxPacketSize = epcd->wOverTheAirPacketSize; > > > + else > > > + rpipe->descr.wMaxPacketSize = ep->desc.wMaxPacketSize; > > > > Did you intentionally remove cpu_to_le16()? It doesn't seem to go together > > well with the above statement... > > > > WBR, Sergei > > > > > > Yes, removing the cpu_to_le16 is intentional. Both sides of the > assignment are fields of USB descriptors and are already __le16 so > byteswapping would be the wrong thing to do. I forgot to mention that. In this case the fix should also go to stable. Regards Oliver -- 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