]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r274456:
authornp <np@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 7 Apr 2015 15:32:43 +0000 (15:32 +0000)
committernp <np@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 7 Apr 2015 15:32:43 +0000 (15:32 +0000)
commit6d600cb997d40897180f57923ab2014bb5fb2f2d
tree2e6b35a34256d22490c9a7b6ae8125a915fc2e38
parent7c289e19e519f8e3ba9214a7d5a06e17f3aea803
MFC r274456:

Fix some bad interaction between cxgbe(4) and lacp lagg(4) that could
leave a port permanently disabled when a copper cable is unplugged and
then plugged right back in.

lacp_linkstate goes looking for the current ifmedia on a link state
change and it could get stale information from cxgbe(4) on a module
unplug followed by replug.  The fix is to process module events before
link-state events within the driver, and to always rebuild the ifmedia
list on a module change event (instead of rebuilding it lazily).

Thanks to asomers@ for the problem report and detailed analysis to go
with it.

git-svn-id: svn://svn.freebsd.org/base/stable/10@281207 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/cxgbe/common/t4_hw.c
sys/dev/cxgbe/t4_main.c