mirror of https://github.com/hak5/openwrt.git
37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
|
Index: linux-5.4.11/drivers/net/phy/ar40xx.c
|
||
|
===================================================================
|
||
|
--- linux-5.4.11.orig/drivers/net/phy/ar40xx.c
|
||
|
+++ linux-5.4.11/drivers/net/phy/ar40xx.c
|
||
|
@@ -1808,8 +1808,8 @@ ar40xx_phy_probe(struct phy_device *phyd
|
||
|
if (phydev->mdio.addr == 0)
|
||
|
ar40xx_priv->phy = phydev;
|
||
|
|
||
|
- phydev->supported |= SUPPORTED_1000baseT_Full;
|
||
|
- phydev->advertising |= ADVERTISED_1000baseT_Full;
|
||
|
+ phy_set_max_speed(phydev, SPEED_1000);
|
||
|
+ linkmode_copy(phydev->advertising, phydev->supported);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@@ -2021,6 +2021,12 @@ static int ar40xx_probe(struct platform_
|
||
|
/* register switch */
|
||
|
swdev = &priv->dev;
|
||
|
|
||
|
+ if (priv->mii_bus == NULL) {
|
||
|
+ dev_err(&pdev->dev, "Probe failed - Missing PHYs!\n");
|
||
|
+ ret = -ENODEV;
|
||
|
+ goto err_missing_phy;
|
||
|
+ }
|
||
|
+
|
||
|
swdev->alias = dev_name(&priv->mii_bus->dev);
|
||
|
|
||
|
swdev->cpu_port = AR40XX_PORT_CPU;
|
||
|
@@ -2052,6 +2058,7 @@ err_unregister_switch:
|
||
|
unregister_switch(&priv->dev);
|
||
|
err_unregister_phy:
|
||
|
phy_driver_unregister(&ar40xx_phy_driver);
|
||
|
+err_missing_phy:
|
||
|
platform_set_drvdata(pdev, NULL);
|
||
|
return ret;
|
||
|
}
|