aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2017-01-13 16:38:22 +0100
committerJo-Philipp Wich <jo@mein.io>2017-01-16 19:39:42 +0100
commitec1a695daa7390a6c24e3b28d3956f194cba2cb5 (patch)
tree8ed03dbe79c82e6f159f787411c6f33dfad2acb3
parentb65572fee9d6a31de1a49fe5f2902670e8c86253 (diff)
downloadupstream-ec1a695daa7390a6c24e3b28d3956f194cba2cb5.tar.gz
upstream-ec1a695daa7390a6c24e3b28d3956f194cba2cb5.tar.bz2
upstream-ec1a695daa7390a6c24e3b28d3956f194cba2cb5.zip
kernel: ar8327/ar8337: disable ARL access code to avoid lockups (FS#384)
Running ar8327_get_arl_entry() early after boot leads to MDIO related system lockups on several devices using this driver. Since dumping the ARL table contens is an optional, uncritical feature, simply disable the code for now. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--target/linux/generic/files/drivers/net/phy/ar8327.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8327.c b/target/linux/generic/files/drivers/net/phy/ar8327.c
index 74c80d4452..72e0abc9d6 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8327.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8327.c
@@ -1040,6 +1040,7 @@ ar8327_wait_atu_ready(struct ar8xxx_priv *priv, u16 r2, u16 r1)
pr_err("ar8327: timeout waiting for atu to become ready\n");
}
+#if 0
static void ar8327_get_arl_entry(struct ar8xxx_priv *priv,
struct arl_entry *a, u32 *status, enum arl_op op)
{
@@ -1099,6 +1100,7 @@ static void ar8327_get_arl_entry(struct ar8xxx_priv *priv,
break;
}
}
+#endif
static int
ar8327_sw_hw_apply(struct switch_dev *dev)
@@ -1399,7 +1401,9 @@ const struct ar8xxx_chip ar8327_chip = {
.vtu_load_vlan = ar8327_vtu_load_vlan,
.phy_fixup = ar8327_phy_fixup,
.set_mirror_regs = ar8327_set_mirror_regs,
+#if 0
.get_arl_entry = ar8327_get_arl_entry,
+#endif
.sw_hw_apply = ar8327_sw_hw_apply,
.num_mibs = ARRAY_SIZE(ar8236_mibs),
@@ -1434,7 +1438,9 @@ const struct ar8xxx_chip ar8337_chip = {
.vtu_load_vlan = ar8327_vtu_load_vlan,
.phy_fixup = ar8327_phy_fixup,
.set_mirror_regs = ar8327_set_mirror_regs,
+#if 0
.get_arl_entry = ar8327_get_arl_entry,
+#endif
.sw_hw_apply = ar8327_sw_hw_apply,
.num_mibs = ARRAY_SIZE(ar8236_mibs),