提交 2ed9127c 编写于 作者: M Mantesh Sarasetti 提交者: Felipe Balbi

usb: musb: host: Disable MUSB DMA mode incase of DMA channel request failure

Currently in case of MUSB DMA channel request failure we are not
clearing MUSB_RXCSR_DMAENAB, MUSB_RXCSR_H_AUTOREQ and
MUSB_RXCSR_AUTOCLEAR bits of MUSB RXCSR of MUSB DMA. Which is
causing failure in receipt of data packets in next transfer.

Fix is to disable the MUSB DMA mode and related bits incase of
DMA channel request fails
Signed-off-by: NMantesh Sarashetti <mantesh@ti.com>
Signed-off-by: NRuslan Bilovol <ruslan.bilovol@ti.com>
Signed-off-by: NFelipe Balbi <balbi@ti.com>
上级 abf710e6
...@@ -1736,7 +1736,11 @@ void musb_host_rx(struct musb *musb, u8 epnum) ...@@ -1736,7 +1736,11 @@ void musb_host_rx(struct musb *musb, u8 epnum)
c->channel_release(dma); c->channel_release(dma);
hw_ep->rx_channel = NULL; hw_ep->rx_channel = NULL;
dma = NULL; dma = NULL;
/* REVISIT reset CSR */ val = musb_readw(epio, MUSB_RXCSR);
val &= ~(MUSB_RXCSR_DMAENAB
| MUSB_RXCSR_H_AUTOREQ
| MUSB_RXCSR_AUTOCLEAR);
musb_writew(epio, MUSB_RXCSR, val);
} }
} }
#endif /* Mentor DMA */ #endif /* Mentor DMA */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册