diff options
author | Richard Cochran <richardcochran@gmail.com> | 2018-02-23 16:25:46 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-01 19:26:14 +0100 |
commit | e31a6f9067e3c30da1bea26ce2d1355af9577d13 (patch) | |
tree | 291648bfcd28dc881c4ccc3dd0fbe10dad631a7d /drivers/net/phy/phylink.c | |
parent | Merge branch 'smc-link-layer-control-enhancements' (diff) | |
download | linux-e31a6f9067e3c30da1bea26ce2d1355af9577d13.tar.xz linux-e31a6f9067e3c30da1bea26ce2d1355af9577d13.zip |
net: phylink: Remove redundant netdev.phydev assignment
As a part of working on MII time stamping infrastructure, I was trying
to figure out how netdev->phydev gets assigned, and I stumbled across
this. Ever since the new phylink code came in, the field is assigned
twice.
The function, phylink_connect_phy(), calls
phy_attach_direct()
phylink_bringup_phy()
and phy_attach_direct() sets
dev->phydev = phydev;
but phylink_bringup_phy() then sets the same field again:
pl->netdev->phydev = phy;
Similarly, the function, phylink_of_phy_connect(), calls
of_phy_attach()
phy_attach_direct()
phylink_bringup_phy()
The removal code is also duplicated:
phylink_disconnect_phy()
pl->netdev->phydev = NULL;
phy_disconnect()
phy_detach()
phydev->attached_dev->phydev = NULL;
This patch removes the redundant assignments, restricting manipulation
of the netdev.phydev field to phy_attach_direct() and phy_detach().
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phylink.c')
-rw-r--r-- | drivers/net/phy/phylink.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index 27327c917a59..7d1724072325 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -679,7 +679,6 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy) mutex_lock(&phy->lock); mutex_lock(&pl->state_mutex); - pl->netdev->phydev = phy; pl->phydev = phy; linkmode_copy(pl->supported, supported); linkmode_copy(pl->link_config.advertising, config.advertising); @@ -817,7 +816,6 @@ void phylink_disconnect_phy(struct phylink *pl) if (phy) { mutex_lock(&phy->lock); mutex_lock(&pl->state_mutex); - pl->netdev->phydev = NULL; pl->phydev = NULL; mutex_unlock(&pl->state_mutex); mutex_unlock(&phy->lock); |