Re: Kernel v3.0.8 igb driver dies when pulling network cable
From: Stefan Priebe - Profihost AG <hidden>
Date: 2011-11-23 06:15:43
Also in:
lkml, stable
Hi Alex,
It seems like there might be an issue with something specific to your board since I tried reproducing the issue here on an 82576 based adapter and the stable 3.0.9 kernel I have and I have not had much success.
but as it is working fine with the up2date igb module - it still was fixed ;-) To reproduce try the following (gave me 100% success rate). Configure eth0 to DHCP, leave eth1 unconfigured. Boot the system with lan cable plugged into eth1 !! When the boot has finished switch the LAN cable from eth1 to eth0.
I'm assuming the device that is failing is eth0. I was wondering if you could send me the output of the following three commands so that I can do some further work to try and isolate the root cause for this issue: ethtool eth0 ethtool -e eth0 grep eth0 /proc/interrupts
Will send them as soon i have access to the machine again.
The issue seems to be that your adapter is not detecting that the cable was unplugged. This in turn is leaving stale packets on the Tx ring and is what is resulting in the dev_watchdog message you are seeing.
Are you sure? Cause when you look at the dmesg you'll see this: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready STACKTRACE! igb 0000:0a:00.0: eth0: Reset adapter eth0: no IPv6 routers present igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX igb 0000:0a:00.0: eth0: Reset adapter igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX So it happens when the cable is plugged in and NOT when i unplug it. Stefan