[PATCH] Zero packet length detection for RNDIS fix. Migrated from 2.6.24 series kernel

Aric D. Blumer aric at sdgsystems.com
Mon Mar 16 23:04:02 CET 2009


Signed-off-by: Aric D. Blumer <aric at sdgsystems.com>
Signed-off-by: Brian Code <Brian.Code at koolu.com>
---
 drivers/usb/gadget/f_rndis.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c
index 3a8bb53..d7c7f19 100644
--- a/drivers/usb/gadget/f_rndis.c
+++ b/drivers/usb/gadget/f_rndis.c
@@ -437,7 +437,8 @@ invalid:
 		DBG(cdev, "rndis req%02x.%02x v%04x i%04x l%d\n",
 			ctrl->bRequestType, ctrl->bRequest,
 			w_value, w_index, w_length);
-		req->zero = 0;
+		req->zero = value < w_length
+				&& (value % cdev->gadget->ep0->maxpacket) == 0;
 		req->length = value;
 		value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC);
 		if (value < 0)
-- 
1.5.6.3


--=-OI3enyuSeXsy0v+wx/Sb--




More information about the openmoko-kernel mailing list