Hello. On 12/06/2012 08:42 AM, Supriya Karanth wrote: > From: supriya karanth <supriya.karanth@xxxxxxxxxxxxxx> > The TXMAXP register is not set correctly for full speed bulk case > when the can_bulk_split() is used. Without this PIO transfers will > not take place correctly > The "mult" factor needs to be updated correctly for the > can_bulk_split() case > The AUTOSET bit in the TXCSR is not being set if the "mult" > factor is greater than 0 for the High Bandwidth ISO case. > But the "mult" factor is also greater than 0 in case of Full speed > bulk transfers with the packet splitting in TXMAXP register > Without the AUTOSET the DMA transfers will not progress in mode1 > Signed-off-by: supriya karanth <supriya.karanth@xxxxxxxxxxxxxx> > Signed-off-by: Praveena NADAHALLY <praveen.nadahally@xxxxxxxxxxxxxx> > Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> I think CC: stable@xxxxxxxxxxxxxxx was missing here... > --- > drivers/usb/musb/musb_gadget.c | 20 ++++++++++++++++++-- > 1 files changed, 18 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c > index b6b84da..8fb0c1f 100644 > --- a/drivers/usb/musb/musb_gadget.c > +++ b/drivers/usb/musb/musb_gadget.c [...] > @@ -1113,9 +1125,13 @@ static int musb_gadget_enable(struct usb_ep *ep, > */ > if (musb->double_buffer_not_ok) > musb_writew(regs, MUSB_TXMAXP, hw_ep->max_packet_sz_tx); > - else > + else { > + if (can_bulk_split(musb, musb_ep->type)) > + musb_ep->hb_mult = (hw_ep->max_packet_sz_tx / > + musb_ep->packet_s Actually, I'm having troubles without this right now (in the Arago based tree), so not sure why you deferred this to 3.9, Felipe... z) - 1; > musb_writew(regs, MUSB_TXMAXP, musb_ep->packet_sz > | (musb_ep->hb_mult << 11)); > + } WBR, Sergei -- 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