Re: [PATCH]usb: gadget: musb: Fix the DMA transfer error for Isochronous transfers

From: paul . elder
Date: Wed Apr 20 2022 - 03:08:33 EST


Hello Haifeng,

On Sun, Apr 17, 2022 at 06:37:44PM +0800, Haifeng wrote:
> For Isochronous transfer mode, the ISO bit should be kept in CSR.
> Otherwise, the DMA transfer will be terminated unexpected since
> the ISO bit is missed once the last packet is a short packet.
>
> Signed-off-by: Haifeng Li <haifeng.li@xxxxxxxxxxxxxxxx>

Looks good to me.

Reviewed-by: Paul Elder <paul.elder@xxxxxxxxxxxxxxxx>

> ---
> drivers/usb/musb/musb_gadget.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
> index 51274b87f46c..b99faf627dce 100644
> --- a/drivers/usb/musb/musb_gadget.c
> +++ b/drivers/usb/musb/musb_gadget.c
> @@ -482,7 +482,7 @@ void musb_g_tx(struct musb *musb, u8 epnum)
> if (csr & MUSB_TXCSR_TXPKTRDY)
> return;
>
> - musb_writew(epio, MUSB_TXCSR, MUSB_TXCSR_MODE
> + musb_writew(epio, MUSB_TXCSR, csr | MUSB_TXCSR_MODE
> | MUSB_TXCSR_TXPKTRDY);
> request->zero = 0;
> }
> --
> 2.17.1
>