Hello!
On 01/09/2017 07:39 PM, Alexandre Bailon wrote:
The dma may hung up if a teardown is initiated while an endpoint is still
The DMA may hang up...
active (Advisory 2.3.27 of da8xx errata).
To workaround this issue, add a delay before to initiate the teardown.
Signed-off-by: Alexandre Bailon <[email protected]>
[...]
diff --git a/drivers/usb/musb/musb_cppi41.c b/drivers/usb/musb/musb_cppi41.c
index 1636385..8fdbc17 100644
--- a/drivers/usb/musb/musb_cppi41.c
+++ b/drivers/usb/musb/musb_cppi41.c
@@ -547,6 +547,10 @@ static int cppi41_dma_channel_abort(struct dma_channel
*channel)
}
}
+ /* DA8xx Advisory 2.3.27: wait 250 ms before to start the teardown */
+ if (musb->io.quirks & MUSB_DA8XX)
+ mdelay(250);
This is a horrible workaround, not even msleep()...
[...]
MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html