aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
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/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
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/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch')
-rw-r--r--target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch12
1 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch b/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
index 8bd9ce3bf7..69b21be951 100644
--- a/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
+++ b/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
@@ -40,7 +40,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
#define AT803X_DEBUG_ADDR 0x1D
#define AT803X_DEBUG_DATA 0x1E
-@@ -71,6 +78,7 @@ MODULE_LICENSE("GPL");
+@@ -72,6 +79,7 @@ MODULE_LICENSE("GPL");
struct at803x_priv {
bool phy_reset:1;
struct gpio_desc *gpiod_reset;
@@ -48,7 +48,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
};
struct at803x_context {
-@@ -274,8 +282,16 @@ does_not_require_reset_workaround:
+@@ -276,8 +284,16 @@ does_not_require_reset_workaround:
return 0;
}
@@ -65,7 +65,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
int ret;
ret = genphy_config_init(phydev);
-@@ -296,6 +312,26 @@ static int at803x_config_init(struct phy
+@@ -298,6 +314,26 @@ static int at803x_config_init(struct phy
return ret;
}
@@ -92,7 +92,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
return 0;
}
-@@ -333,6 +369,8 @@ static int at803x_config_intr(struct phy
+@@ -335,6 +371,8 @@ static int at803x_config_intr(struct phy
static void at803x_link_change_notify(struct phy_device *phydev)
{
struct at803x_priv *priv = phydev->priv;
@@ -100,8 +100,8 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+ pdata = dev_get_platdata(&phydev->mdio.dev);
/*
- * Conduct a hardware reset for AT8030 every time a link loss is
-@@ -361,6 +399,24 @@ static void at803x_link_change_notify(st
+ * Conduct a hardware reset for AT8030/2 every time a link loss is
+@@ -363,6 +401,24 @@ static void at803x_link_change_notify(st
} else {
priv->phy_reset = false;
}