summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/net2280.c
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2006-04-02 20:18:53 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-04-14 20:12:24 +0200
commit68dcc688d1f042842a8fb523e4a584b3211181d1 (patch)
tree42d5baf62a53d7f295af3c600970681e95410ac2 /drivers/usb/gadget/net2280.c
parent[PATCH] USB: fix gadget_is_musbhdrc() (diff)
downloadlinux-68dcc688d1f042842a8fb523e4a584b3211181d1.tar.xz
linux-68dcc688d1f042842a8fb523e4a584b3211181d1.zip
[PATCH] USB: net2280 short rx status fix
Some patch broke short-OUT packet handling for net2280, making it report illegal status values. This updates the status code so it's correct. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/net2280.c')
-rw-r--r--drivers/usb/gadget/net2280.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index 7682c07035bd..6a4b93ad1082 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -2241,7 +2241,8 @@ static void handle_ep_small (struct net2280_ep *ep)
if (likely (req)) {
req->td->dmacount = 0;
t = readl (&ep->regs->ep_avail);
- dma_done (ep, req, count, t);
+ dma_done (ep, req, count,
+ (ep->out_overflow || t) ? -EOVERFLOW : 0);
}
/* also flush to prevent erratum 0106 trouble */