mirror of https://gitee.com/openkylin/linux.git
lan743x: Remove phy_read from link status change function
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: 23f0703c12
("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>
This commit is contained in:
parent
b7ea4894aa
commit
a0071840d2
|
@ -962,13 +962,10 @@ static void lan743x_phy_link_status_change(struct net_device *netdev)
|
||||||
|
|
||||||
memset(&ksettings, 0, sizeof(ksettings));
|
memset(&ksettings, 0, sizeof(ksettings));
|
||||||
phy_ethtool_get_link_ksettings(netdev, &ksettings);
|
phy_ethtool_get_link_ksettings(netdev, &ksettings);
|
||||||
local_advertisement = phy_read(phydev, MII_ADVERTISE);
|
local_advertisement =
|
||||||
if (local_advertisement < 0)
|
linkmode_adv_to_mii_adv_t(phydev->advertising);
|
||||||
return;
|
remote_advertisement =
|
||||||
|
linkmode_adv_to_mii_adv_t(phydev->lp_advertising);
|
||||||
remote_advertisement = phy_read(phydev, MII_LPA);
|
|
||||||
if (remote_advertisement < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
lan743x_phy_update_flowcontrol(adapter,
|
lan743x_phy_update_flowcontrol(adapter,
|
||||||
ksettings.base.duplex,
|
ksettings.base.duplex,
|
||||||
|
|
Loading…
Reference in New Issue