diff options
author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-10-26 07:00:28 +0200 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-10-26 07:00:28 +0200 |
commit | c68436fa427a69ea308d74c410067507d6c7103b (patch) | |
tree | 4f05a23bb3eabfe1eaf1f92bf6f57a6e403ac9a4 /drivers/usb/musb | |
parent | 186fc4db263fc6332d6712be99a9a387087d29c7 (diff) | |
parent | c7d35bef255dedb3ec3856982f042dde514676b0 (diff) | |
download | u-boot-imx-c68436fa427a69ea308d74c410067507d6c7103b.zip u-boot-imx-c68436fa427a69ea308d74c410067507d6c7103b.tar.gz u-boot-imx-c68436fa427a69ea308d74c410067507d6c7103b.tar.bz2 |
Merge remote-tracking branch 'u-boot-ti/master'
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r-- | drivers/usb/musb/musb_udc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_udc.c b/drivers/usb/musb/musb_udc.c index 09cdec3..e0b4217 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; |