aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2018-07-31 04:50:38 +0200
committerDaniel Golle <daniel@makrotopia.org>2018-07-31 05:39:49 +0200
commit20c64dabb67b210c1148820e626fbe0b1dc994f6 (patch)
treeab69747ada6cb546088e3757edd442a0c055a3ff /target/linux/ar71xx
parent93782d5e8e49931377dc69c654baf50ea7014870 (diff)
downloadupstream-20c64dabb67b210c1148820e626fbe0b1dc994f6.tar.gz
upstream-20c64dabb67b210c1148820e626fbe0b1dc994f6.tar.bz2
upstream-20c64dabb67b210c1148820e626fbe0b1dc994f6.zip
kernel: re-add patch for AT8032 Ethernet PHY
The patch was wrongly removed by a kernel version bump to 4.9.106 in the believe that it was merged upstream thow it wasn't. This lead to unrecoverable link losses on devices which use those PHYs such as many ubnt single-port CPEs. Fixes: 6f8eb1b50f ("kernel: bump 4.9 to 4.9.106 for 18.06") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit a497e47762)
Diffstat (limited to 'target/linux/ar71xx')
-rw-r--r--target/linux/ar71xx/patches-4.9/902-at803x-add-reset-gpio-pdata.patch8
1 files changed, 4 insertions, 4 deletions
diff --git a/target/linux/ar71xx/patches-4.9/902-at803x-add-reset-gpio-pdata.patch b/target/linux/ar71xx/patches-4.9/902-at803x-add-reset-gpio-pdata.patch
index fb6f85cdfd..cb3ed89e98 100644
--- a/target/linux/ar71xx/patches-4.9/902-at803x-add-reset-gpio-pdata.patch
+++ b/target/linux/ar71xx/patches-4.9/902-at803x-add-reset-gpio-pdata.patch
@@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif /* _PHY_AT803X_PDATA_H */
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
-@@ -263,6 +263,7 @@ static int at803x_resume(struct phy_devi
+@@ -264,6 +264,7 @@ static int at803x_resume(struct phy_devi
static int at803x_probe(struct phy_device *phydev)
{
@@ -24,8 +24,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct device *dev = &phydev->mdio.dev;
struct at803x_priv *priv;
struct gpio_desc *gpiod_reset;
-@@ -274,6 +275,12 @@ static int at803x_probe(struct phy_devic
- if (phydev->drv->phy_id != ATH8030_PHY_ID)
+@@ -276,6 +277,12 @@ static int at803x_probe(struct phy_devic
+ phydev->drv->phy_id != ATH8032_PHY_ID)
goto does_not_require_reset_workaround;
+ pdata = dev_get_platdata(dev);
@@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
if (IS_ERR(gpiod_reset))
return PTR_ERR(gpiod_reset);
-@@ -405,15 +412,23 @@ static void at803x_link_change_notify(st
+@@ -407,15 +414,23 @@ static void at803x_link_change_notify(st
* cannot recover from by software.
*/
if (phydev->state == PHY_NOLINK) {