summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2006-04-14 22:42:03 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-04-27 19:28:58 +0200
commit317e83b842ba39776054219ae29844127876416a (patch)
treed9822d60241beb2e432138db17ec05917f4278e1 /drivers/usb
parent[PATCH] USB: net2280: Handle STALLs for 0-length control-IN requests (diff)
downloadlinux-317e83b842ba39776054219ae29844127876416a.tar.xz
linux-317e83b842ba39776054219ae29844127876416a.zip
[PATCH] USB: net2280: send 0-length packets for ep0
This patch (as669) fixes a bug in the net2280 driver. Now it will properly send zero-length packets on ep0 until the control status stage occurs. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/net2280.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index 2d5cededcbd7..c842b194cf0f 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -2280,9 +2280,7 @@ static void handle_ep_small (struct net2280_ep *ep)
/* if we wrote it all, we're usually done */
if (req->req.actual == req->req.length) {
if (ep->num == 0) {
- /* wait for control status */
- if (mode != 2)
- req = NULL;
+ /* send zlps until the status stage */
} else if (!req->req.zero || len != ep->ep.maxpacket)
mode = 2;
}