From 207b8ec0afe014d52393a21ba11c71b19bdbb97f Mon Sep 17 00:00:00 2001 From: funman Date: Wed, 8 Sep 2010 01:50:36 +0000 Subject: [PATCH] USB AMSv2: update endpoint->len on transfer cosmetics: x ? true : false -> x git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28034 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/usb-drv-as3525v2.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/firmware/target/arm/as3525/usb-drv-as3525v2.c b/firmware/target/arm/as3525/usb-drv-as3525v2.c index 7537e874d..4db61abc3 100644 --- a/firmware/target/arm/as3525/usb-drv-as3525v2.c +++ b/firmware/target/arm/as3525/usb-drv-as3525v2.c @@ -481,14 +481,14 @@ static void handle_ep_int(int ep, bool dir_in) endpoint->busy = false; endpoint->status = 0; /* works even for EP0 */ - int transfered = endpoint->len - (DIEPTSIZ(ep) & DEPTSIZ_xfersize_bits); - logf("len=%d reg=%ld xfer=%d", endpoint->len, - (DIEPTSIZ(ep) & DEPTSIZ_xfersize_bits), - transfered); + int size = (DIEPTSIZ(ep) & DEPTSIZ_xfersize_bits); + int transfered = endpoint->len - size; + logf("len=%d reg=%ld xfer=%d", endpoint->len, size, transfered); /* handle EP0 state if necessary, * this is a ack if length is 0 */ if(ep == 0) handle_ep0_complete(endpoint->len == 0); + endpoint->len = size; usb_core_transfer_complete(ep, USB_DIR_IN, 0, transfered); wakeup_signal(&endpoint->complete); } @@ -830,6 +830,6 @@ void usb_drv_stall(int ep, bool stall, bool in) bool usb_drv_stalled(int ep, bool in) { - return (in ? DIEPCTL(ep) : DOEPCTL(ep)) & DEPCTL_stall ? true : false; + return (in ? DIEPCTL(ep) : DOEPCTL(ep)) & DEPCTL_stall; } -- 2.11.4.GIT