Bug 60662

Summary: MosChip MCS7830 Ethernet adapter no longer working after usbnet changes in 3.10
Product: Networking Reporter: Till Schmalmack (kernel-bugzilla)
Component: IPV4Assignee: Stephen Hemminger (stephen)
Status: NEW ---    
Severity: blocking CC: kernel-bugzilla, linux
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 3.10.4 Subsystem:
Regression: No Bisected commit-id:

Description Till Schmalmack 2013-07-31 09:40:15 UTC
This bug may or may not be related to
bug #60521 usbnet changes in 3.10 stop use of sierra_net devices
Since both resolutions are different, I decided to create a new bug.

With kernels 3.10.4 and 3.10.0, my Delock USB Ethernet adapter (using a MosChip device) hardly survives the DHCP phase, then quickly becomes unresponsive.  Sometimes even during DHCP.

Things went back to normal after reverting commit

4be74c130d1c5c03bccef0ab8d7a6bb71c7de53a usbnet: mcs7830: apply usbnet_link_change

I haven't digged any further so far.

  Till
Comment 1 Till Schmalmack 2013-08-07 19:39:10 UTC
Further debugging (thanks to Ming Lei) revealed that the chipset produces permanent link on/off oscillation and apparently the frequent calls of

  usbnet_defer_kevent(dev, EVENT_LINK_CHANGE);

(in usbnet_link_change()) make it hang after a short while.  Said call was indirectly introduced by commit 
4be74c13(usbnet: mcs7830: apply usbnet_link_change), so this is why its reversion `solved' my problem.

Hence the actual problem is the permanent oscillation, as already mentioned by commit dabdaf0c(mcs7830: Fix link state detection).  I tried using 200 instead of 20, but it didn't help as the (my) device apparently never stops oscillating.