From c336629a155593e443ba21a0734b3c519a61e560 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Gupta Date: Thu, 24 May 2012 16:31:27 +0530 Subject: [PATCH 17/18] usb: musb: host: Flush RxFIFO only when RxPktRdy is set This need to be done as per mentor core documentations. Signed-off-by: Ajay Kumar Gupta --- drivers/usb/musb/musb_host.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 13520ee..f56fde2 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -507,7 +507,8 @@ static u16 musb_h_flush_rxfifo(struct musb_hw_ep *hw_ep, u16 csr) * ignore dma (various models), * leave toggle alone (may not have been saved yet) */ - csr |= MUSB_RXCSR_FLUSHFIFO | MUSB_RXCSR_RXPKTRDY; + if (csr & MUSB_RXCSR_RXPKTRDY) + csr |= MUSB_RXCSR_FLUSHFIFO | MUSB_RXCSR_RXPKTRDY; csr &= ~(MUSB_RXCSR_H_REQPKT | MUSB_RXCSR_H_AUTOREQ | MUSB_RXCSR_AUTOCLEAR); -- 1.7.7.6