mirror of https://gitee.com/openkylin/linux.git
usb: musb: fix cppi channel teardown for isoch transfer
After a few iterations of start/stop UVC camera streaming, the streaming stops. This patch adds 250us delay in the cppi channel abort path to let cppi drain properly. Using 50us delay seems to be too aggressive, some webcams are still broken. 250us is the original value used in TI 3.2 kernel. Signed-off-by: Bin Liu <b-liu@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
8fb7ab5043
commit
b431ba8803
|
@ -551,6 +551,9 @@ static int cppi41_dma_channel_abort(struct dma_channel *channel)
|
|||
} else {
|
||||
cppi41_set_autoreq_mode(cppi41_channel, EP_MODE_AUTOREQ_NONE);
|
||||
|
||||
/* delay to drain to cppi dma pipeline for isoch */
|
||||
udelay(250);
|
||||
|
||||
csr = musb_readw(epio, MUSB_RXCSR);
|
||||
csr &= ~(MUSB_RXCSR_H_REQPKT | MUSB_RXCSR_DMAENAB);
|
||||
musb_writew(epio, MUSB_RXCSR, csr);
|
||||
|
|
Loading…
Reference in New Issue