usb: musb: fix bit mask for CSR in musb_h_tx_flush_fifo()
authorDaniel Mack <zonque@gmail.com>
Mon, 26 May 2014 12:52:37 +0000 (14:52 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 30 Jun 2014 19:26:23 +0000 (14:26 -0500)
The datasheet says that MUSB_TXCSR_FLUSHFIFO is only valid when
MUSB_TXCSR_TXPKTRDY is set as well.

With this patch applied, the warning in this function does no longer
kick in when an USB soundcard is unplugged while the stream is active.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_host.c

index 0745839d7cd8dffac85f6bf5b391f7e0ba7b99fa..3381fa56db294215db9edcd528843e7d2e3221ad 100644 (file)
@@ -120,7 +120,7 @@ static void musb_h_tx_flush_fifo(struct musb_hw_ep *ep)
                if (csr != lastcsr)
                        dev_dbg(musb->controller, "Host TX FIFONOTEMPTY csr: %02x\n", csr);
                lastcsr = csr;
-               csr |= MUSB_TXCSR_FLUSHFIFO;
+               csr |= MUSB_TXCSR_FLUSHFIFO | MUSB_TXCSR_TXPKTRDY;
                musb_writew(epio, MUSB_TXCSR, csr);
                csr = musb_readw(epio, MUSB_TXCSR);
                if (WARN(retries-- < 1,