Re: [Regression] USB tethering does not work anymore in 2.6.29-rc2 (rndis_host, does not receive DHCP offer anymore)

huajun li <[email protected]> Fri, 8 Apr 2011 11:29:08 +0800
Newsgroups gmane.linux.kernel,gmane.linux.network.general,gmane.linux.usb.general
Message-ID <[email protected]>
2011/4/8 Gottfried Haider <[email protected]>:
>>> This does work on the -rc1 kernel and is 100% reproducible here (same
>>> USB port, rebooting the phone between tries).
>>
>> Any chance you can run 'git bisect' to narrow down the problem to the
>> offending change?
>
> Unfortunately I only have this x120e netbook-type machine available
> for testing and building at the moment, so it would probably take me a
> long time.
>
> Gottfried
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

Hi,
   I found the new added mask code 'FLAG_POINTTOPOINT' overlapped
'FLAG_MULTI_PACKET' in    include/linux/usb/usbnet.h, this maybe
caused logic issue in rx_process(). I create a patch for this, but
have no such a device to test it, could you have a try? thanks.

Thanks,
--huajun


[PATCH]    Clean up mask code overlaps in driver_info of usbnet

Signed-off-by:  Huajun Li <[email protected]>
---
 include/linux/usb/usbnet.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index 3c7329b..0e18550 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -103,8 +103,8 @@ struct driver_info {
  * Indicates to usbnet, that USB driver accumulates multiple IP packets.
  * Affects statistic (counters) and short packet handling.
  */
-#define FLAG_MULTI_PACKET	0x1000
-#define FLAG_RX_ASSEMBLE	0x2000	/* rx packets may span >1 frames */
+#define FLAG_MULTI_PACKET	0x2000
+#define FLAG_RX_ASSEMBLE	0x4000	/* rx packets may span >1 frames */

 	/* init device ... can sleep, or cause probe() failure */
 	int	(*bind)(struct usbnet *, struct usb_interface *);
-- 
1.7.4.1