Description of problem: doing an ifdown on an interface using the below nic does not work properly: 80:0a.0 Ethernet controller: nVidia Corporation CK804 Ethernet Controller (rev f3) The customer noticed this problem when he switched down one of the interfaces in a bond (using ifconfig ethX down). The IP address is deassigned from the interface, but the link is up and the kernel keeps using this interface as the current active one in the bond. As the result, the connectivity via the bond interface is lost. The customer has also reproduced the problem w/out bonding being involved. Version-Release number of selected component (if applicable): Initially seen w/ 2.6.9-67.0.22, also reproduced on 2.6.9-78.EL. How reproducible: every time Steps to Reproduce: 1. ifdown ethX 2. Actual results: physical link remains Expected results: interface/link shutdown completely Additional info: Customer has confirmed that the problem is resolved w/ the following upstream patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=cb52deba12f27af90a46d2f8667a64888118a888
Created attachment 336702 [details] upstream patch this is identical to the upstream patch, all I've done is adjust it to apply cleanly to latest 4.7.z (-78.0.17.EL).
Applying only this patch causes several problems: 1. Older drivers can't bring up the link on reboot after using this driver. 2. Other operating systems (windows) can't bring up the link either. 3. Some BIOSen with link-testing features get broken too. Upstream bugzillas: https://bugzilla.redhat.com/show_bug.cgi?id=496964 https://bugzilla.kernel.org/show_bug.cgi?id=13072 https://bugzilla.redhat.com/show_bug.cgi?id=497052 https://bugzilla.redhat.com/show_bug.cgi?id=494844 At least two additional patches are needed: 1. Fix resume from hibernation regression http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=35a7433c789ba6df6d96b70fa745ae9e6cac0038 2. Add phy_power_down parameter, leave phy powered up by default (v2) http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5a9a8e32ebe269c71d8d3e78f9435fe7729f38e9
Ivan - I've just realized that the patch I proposed here has already been included in 4.8 (-89) as part of your forcedeth 0.62 rebase (bug 479408). I opened this bug the day after it was committed to the 4.8 tree, and unfortunately I'd done my code review a couple days earlier and thus I missed the commit. Apologies for the confusion. However as you noted in comment 5 the 2 additional patches are needed. I plan to provide the customer who reported this w/ a test kernel (-89 + 2 patches from comment 5) to have them test/confirm on their systems which were experiencing problems.
Created attachment 355095 [details] add phy_power_down parameter
Created attachment 355096 [details] reset phy state on resume
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
The appropriate patches were already sent (bug #532593). Although the mentioned bug reports different issue, I'm closing this bug as duplicate as the patches are the same. *** This bug has been marked as a duplicate of bug 532593 ***