summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/musb_udc.c
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2012-11-10 08:05:54 +0100
committerStefano Babic <sbabic@denx.de>2012-11-10 08:05:54 +0100
commit3e4d27b06d7484040355e22eec2cbce7335d6dab (patch)
tree9672a2bb2e4ce0edc0ab776ddf0e2ca8e39a5f62 /drivers/usb/musb/musb_udc.c
parentbad05afe083eec0467220de21683443292c5012e (diff)
parent59852d03867108217fe88e3bfc3e1e9cedfe63c5 (diff)
downloadtalos-obmc-uboot-3e4d27b06d7484040355e22eec2cbce7335d6dab.tar.gz
talos-obmc-uboot-3e4d27b06d7484040355e22eec2cbce7335d6dab.zip
Merge git://git.denx.de/u-boot
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