aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-4.9
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 04:56:58 +0200
commita497e4776207fc4da2369735df51c137f85a425b (patch)
tree78d7449c54f4886a3ef2d418fdb894c038aca012 /target/linux/ar71xx/patches-4.9
parentef025e6417abd608ee398039623ac8a306bb92c5 (diff)
downloadupstream-a497e4776207fc4da2369735df51c137f85a425b.tar.gz
upstream-a497e4776207fc4da2369735df51c137f85a425b.tar.bz2
upstream-a497e4776207fc4da2369735df51c137f85a425b.zip
kernel: re-add patch for AT8032 Ethernet PHY
The patch was wrongly removed by a kernel version bump to 4.9.105 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: 7dca1bae82 (kernel: bump to 4.9.105) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target/linux/ar71xx/patches-4.9')
-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) {