diff options
author | 2018-12-16 18:30:14 +0100 | |
---|---|---|
committer | 2018-12-18 15:11:07 -0800 | |
commit | 2b3e88ea65287ba738a798622405b15344871085 (patch) | |
tree | 41764dd927bc07f9fb481f08c6bb744c0dc43364 /net/tipc | |
parent | net: fec: remove workaround to restart phylib state machine on MDIO timeout (diff) | |
download | linux-dev-2b3e88ea65287ba738a798622405b15344871085.tar.xz linux-dev-2b3e88ea65287ba738a798622405b15344871085.zip |
net: phy: improve phy state checking
Add helpers phy_is_started() and __phy_is_started() to avoid open-coded
checks whether PHY has been started. To make the check easier move
PHY_HALTED before PHY_UP in enum phy_state. Further improvements:
phy_start_aneg():
Return -EBUSY and print warning if function is called from a non-started
state (DOWN, READY, HALTED). Better check because function is exported
and drivers may use it incorrectly.
phy_interrupt():
Return IRQ_NONE also if state is DOWN or READY. We should never receive
an interrupt in one of these states, but better play safe.
phy_stop():
Just return and print a warning if PHY is in a non-started state.
This warning should help to identify drivers with unbalanced calls to
phy_start() / phy_stop().
phy_state_machine():
Schedule state machine run only if PHY is in a started state.
E.g. if state is READY we don't need the state machine, it will be
started by phy_start().
v2:
- don't use __func__ within phy_warn_state
v3:
- use WARN() instead of printing error message to facilitate debugging
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc')
0 files changed, 0 insertions, 0 deletions