diff --git a/drivers/net/phy/dp83848.c b/drivers/net/phy/dp83848.c index d88b1999d596..e65651ac567a 100644 --- a/drivers/net/phy/dp83848.c +++ b/drivers/net/phy/dp83848.c @@ -117,6 +117,9 @@ static int dp83848_config_init(struct phy_device *phydev) * we check initial value of BMCR Auto negotiation enable bit */ val = phy_read(phydev, MII_BMCR); + if (val < 0) + return val; + if (!(val & BMCR_ANENABLE)) phydev->autoneg = AUTONEG_DISABLE;