2022-04-21 14:28:59

by Paul Elder

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

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 <[email protected]>

Looks good to me.

Reviewed-by: Paul Elder <[email protected]>

> ---
> 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
>