From 89b9206f256985cd09ada5098a53afa91b2fee5e Mon Sep 17 00:00:00 2001 From: gevaerts Date: Thu, 13 Aug 2009 18:50:43 +0000 Subject: [PATCH] don't treat extremely quick transfers as errors git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22294 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/usb-drv-arc.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/firmware/target/arm/usb-drv-arc.c b/firmware/target/arm/usb-drv-arc.c index 973a22742..3d17cc56c 100644 --- a/firmware/target/arm/usb-drv-arc.c +++ b/firmware/target/arm/usb-drv-arc.c @@ -748,9 +748,16 @@ static int prime_transfer(int ep_num, void* ptr, int len, bool send, bool wait) } if (!(REG_ENDPTSTATUS & mask)) { - logf("no prime! %d %d %x", ep_num, pipe, qh->dtd.size_ioc_sts & 0xff); - rc = -3; - goto pt_error; + if(REG_ENDPTCOMPLETE & mask) + { + logf("endpoint completed fast! %d %d %x", ep_num, pipe, qh->dtd.size_ioc_sts & 0xff); + } + else + { + logf("no prime! %d %d %x", ep_num, pipe, qh->dtd.size_ioc_sts & 0xff); + rc = -3; + goto pt_error; + } } if(ep_num == EP_CONTROL && (REG_ENDPTSETUPSTAT & EPSETUP_STATUS_EP0)) { /* 32.14.3.2.2 */ -- 2.11.4.GIT