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 09:55:26 +0100
commit209fba2c643dddbbba0b1cb73f1ff75d86d2a70b (patch)
treeceb53c9008ac360b6b352dc3524b9e9c723541bb
parent131a78f15abe2314494abe0250db4d86be91e791 (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);