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