Re: RNDIS regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 17 March 2009, Radek Polak wrote:
> >>> Hi,
> >>> i have been using my Neo Freerunner to connect to WinXP computer.
> >>> This was working just fine with 2.6.24, but not working anymore
> >>> in 2.6.28 and 2.6.29. First WinXP immediately rebooted, now they
> >>> stay alive, but USB networking is still not working.
> 
> Hi,
> good news, the RNDIS is now working on Openmoko phones again. See:
> 
> http://lists.openmoko.org/pipermail/openmoko-kernel/2009-March/009503.html

That is, the appended patch made it work?

Makes sense to me.  I'm not sure why that got dropped.
Section 8.5.3.2 of the USB 2.0 spec explains why it's
needed ... although a slightly simpler patch could be
used, just "zero = (value < w_length)".


--- 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)

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux