summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirupathi Chippakurthy <thirupathi.chippakurthy@stericsson.com>2011-11-23 18:07:24 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-01-04 10:29:40 +0100
commit387120c164d27475bbaea872636fed9400b07ebb (patch)
tree9ae3714a2a344893a685f27d1f50781d5df3a6c1
parentdf8923da19429824de5a442cc571398f5b9ce7c9 (diff)
musb: host: Wait for TXPKTRDY to clear in host
MUSB_TXCSR_TXPKTRDY will not get cleared if the data is not on the bus. So, need to wait for it to clear in the DMA completion callback.As per musb datasheet, generally mode 1 needs to be used for data length greater than or equal to max packet size. Bus reset happening due to scsi timeout,since in this case should not return continue for next transfers. ST-Ericsson ID:ER 365087 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Signed-off-by: Thirupathi <thirupathi.chippakurthy@stericsson.com>
-rw-r--r--drivers/usb/musb/musb_host.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index 07e25fa1bf2..f12b046b0d6 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -1169,7 +1169,6 @@ void musb_host_tx(struct musb *musb, u8 epnum)
} while ((tx_csr & MUSB_TXCSR_TXPKTRDY) != 0);
dev_dbg(musb->controller, "TXPKTRDY Cleared. Continue...\n");
- return;
} else if (tx_csr & MUSB_TXCSR_H_NAKTIMEOUT) {
dev_dbg(musb->controller, "TX end=%d device not responding\n", epnum);