When a DMA request is continued and a new inbound packet is requested,
make sure we're operating on the right endpooint. Otherwise, no new
packet is requested and the stream starves.

Signed-off-by: Daniel Mack <zon...@gmail.com>
---
 drivers/usb/musb/musb_cppi41.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/musb/musb_cppi41.c b/drivers/usb/musb/musb_cppi41.c
index a11bbb6..e568930 100644
--- a/drivers/usb/musb/musb_cppi41.c
+++ b/drivers/usb/musb/musb_cppi41.c
@@ -173,6 +173,7 @@ static void cppi41_trans_done(struct cppi41_dma_channel 
*cppi41_channel)
                dma_async_issue_pending(dc);
 
                if (!cppi41_channel->is_tx) {
+                       musb_ep_select(musb->mregs, hw_ep->epnum);
                        csr = musb_readw(epio, MUSB_RXCSR);
                        csr |= MUSB_RXCSR_H_REQPKT;
                        musb_writew(epio, MUSB_RXCSR, csr);
-- 
1.9.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to