Page MenuHomeFreeBSD

ice(4): Fix link bringup on driver load
ClosedPublic

Authored by kgalazka on Thu, Sep 10, 8:12 PM.
Tags
None
Referenced Files
F174685947: D59578.id187873.diff
Mon, Oct 5, 4:47 AM
Unknown Object (File)
Sat, Oct 3, 8:33 PM
Unknown Object (File)
Sat, Oct 3, 4:24 PM
Unknown Object (File)
Sat, Oct 3, 5:48 AM
Unknown Object (File)
Wed, Sep 30, 5:45 AM
Unknown Object (File)
Tue, Sep 29, 11:41 PM
Unknown Object (File)
Tue, Sep 29, 10:56 PM
Unknown Object (File)
Mon, Sep 28, 11:00 PM
Subscribers

Details

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 Not Applicable
Unit
Tests Not Applicable

Event Timeline

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

sys/dev/ice/ice_lib.c
9727–9728

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.

Address @kbowling comment.

Added condition in else branch was in fact wrong. Refactor
whole condition to act correctly when IFF_UP flag is set.

This revision is now accepted and ready to land.Fri, Sep 18, 11:31 AM

Are you waiting for internal validation? I don't like keeping head in a known broken state this long if their findings can be posted as a followup.

This revision was automatically updated to reflect the committed changes.

Are you waiting for internal validation? I don't like keeping head in a known broken state this long if their findings can be posted as a followup.

Yeah, I hoped the final version will get verified, but we had problems with validation environment due to: https://reviews.freebsd.org/D59998, so I merged it as you suggested.