summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/musb_udc.c
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-10-26 07:00:28 +0200
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-10-26 07:00:28 +0200
commitc68436fa427a69ea308d74c410067507d6c7103b (patch)
tree4f05a23bb3eabfe1eaf1f92bf6f57a6e403ac9a4 /drivers/usb/musb/musb_udc.c
parent186fc4db263fc6332d6712be99a9a387087d29c7 (diff)
parentc7d35bef255dedb3ec3856982f042dde514676b0 (diff)
downloadtalos-obmc-uboot-c68436fa427a69ea308d74c410067507d6c7103b.tar.gz
talos-obmc-uboot-c68436fa427a69ea308d74c410067507d6c7103b.zip
Merge remote-tracking branch 'u-boot-ti/master'
Diffstat (limited to 'drivers/usb/musb/musb_udc.c')
-rw-r--r--drivers/usb/musb/musb_udc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_udc.c b/drivers/usb/musb/musb_udc.c
index 09cdec31a9..e0b4217dc3 100644
--- a/drivers/usb/musb/musb_udc.c
+++ b/drivers/usb/musb/musb_udc.c
@@ -640,8 +640,17 @@ static void musb_peri_ep0(void)
static void musb_peri_rx_ep(unsigned int ep)
{
- u16 peri_rxcount = readw(&musbr->ep[ep].epN.rxcount);
+ u16 peri_rxcount;
+ u8 peri_rxcsr = readw(&musbr->ep[ep].epN.rxcsr);
+ if (!(peri_rxcsr & MUSB_RXCSR_RXPKTRDY)) {
+ if (debug_level > 0)
+ serial_printf("ERROR : %s %d without MUSB_RXCSR_RXPKTRDY set\n",
+ __PRETTY_FUNCTION__, ep);
+ return;
+ }
+
+ peri_rxcount = readw(&musbr->ep[ep].epN.rxcount);
if (peri_rxcount) {
struct usb_endpoint_instance *endpoint;
u32 length;
OpenPOWER on IntegriCloud