Skip to content

Commit

Permalink
lan743x: Remove phy_read from link status change function
Browse files Browse the repository at this point in the history
It has been noticed that some phys do not have the registers
required by the previous implementation.

To fix this, instead of using phy_read, the required information
is extracted from the phy_device structure.

fixes: 23f0703 ("lan743x: Add main source files for new lan743x driver")
Signed-off-by: Bryan Whitehead <Bryan.Whitehead@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Bryan Whitehead authored and David S. Miller committed Jan 8, 2019
1 parent b7ea489 commit a007184
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions drivers/net/ethernet/microchip/lan743x_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -962,13 +962,10 @@ static void lan743x_phy_link_status_change(struct net_device *netdev)

memset(&ksettings, 0, sizeof(ksettings));
phy_ethtool_get_link_ksettings(netdev, &ksettings);
local_advertisement = phy_read(phydev, MII_ADVERTISE);
if (local_advertisement < 0)
return;

remote_advertisement = phy_read(phydev, MII_LPA);
if (remote_advertisement < 0)
return;
local_advertisement =
linkmode_adv_to_mii_adv_t(phydev->advertising);
remote_advertisement =
linkmode_adv_to_mii_adv_t(phydev->lp_advertising);

lan743x_phy_update_flowcontrol(adapter,
ksettings.base.duplex,
Expand Down

0 comments on commit a007184

Please sign in to comment.