HomeFreeBSD

Fix some bad interaction between cxgbe(4) and lacp lagg(4) that could

Description

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.

MFC after: 1 week

Details

Provenance
npAuthored on
Parents
rS274455: We don't return sp pointer, thus NULL assignment isn't needed.
Branches
Unknown
Tags
Unknown

Event Timeline