Page MenuHomeFreeBSD

ice(4): Fix link bringup on driver load
Needs ReviewPublic

Authored by kgalazka on Thu, Sep 10, 8:12 PM.
Tags
None
Referenced Files
F171986047: D59578.diff
Tue, Sep 15, 4:04 AM
Unknown Object (File)
Mon, Sep 14, 8:08 AM
Unknown Object (File)
Mon, Sep 14, 12:27 AM
Unknown Object (File)
Sun, Sep 13, 1:01 PM
Unknown Object (File)
Sun, Sep 13, 12:04 PM
Unknown Object (File)
Sun, Sep 13, 9:02 AM
Unknown Object (File)
Sun, Sep 13, 1:27 AM
Unknown Object (File)
Sat, Sep 12, 11:05 PM
Subscribers

Details

Reviewers
kbowling
Group Reviewers
Intel Networking
Summary

Patch adding Total Port Shutdown support incorrectly
handled a case when this feature was not enabled in the NVM.
When TPS bit is not set driver should apply link configuration
according to user settings and update the status. Those steps
were mistakenly omitted, while the state flag was still set
to prevent link renegotation and status update on first
attempt to bring interface up with ifconfig.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Reported by: kbowling
Fixes: 0011cd9f8863 ("ice(4): Support Total Port Shutdown on E830 devices")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 76757
Build 73640: arc lint + arc unit

Event Timeline

This nullifies D59300 and is a good fix. D59335 is still necessary.

sys/dev/ice/ice_lib.c
9536

Is this additional condition needed? TPS clears LINK_ACTIVE_ON_DOWN, so TPS ports take the preceding ice_set_link(sc, false) branch and never reach this test. Without TPS, the condition is always true, making it equivalent to the original else. I think this hunk can be dropped unless there is another supported state transition I am missing.