Page MenuHomeFreeBSD

aq(4): arm the PHY thermal shutdown once the link is up
Needs ReviewPublic

Authored by nick_spun.io on Wed, Sep 9, 8:22 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

aq_if_init() armed the shutdown immediately after aq_hw_init(), which
resets the MAC and reloads the PHY firmware from flash. That reload
re-applies the board provisioning, as the high-temperature threshold
returning to its provisioned value after a reset shows. A read in that
window can return all ones, and a write that reports success is not
guaranteed to outlive the provisioning.

Arm from the link-up edge instead, where the reload has finished. The
arming survives a link flap, so this normally runs once per init, and a
card with no link generates little heat to protect against. Each later
link-up retries a failure for the cost of one MDIO read, and the warning
now carries the error so a timed-out MDIO semaphore can be told apart
from a PHY that read all ones.

Diff Detail

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