[source] kernel: ar8327/ar8337: disable ARL access code to avoid lockups (FS#384)

LEDE Commits lede-commits at lists.infradead.org
Mon Jan 16 10:39:58 PST 2017


jow pushed a commit to source.git, branch master:
https://git.lede-project.org/ec1a695daa7390a6c24e3b28d3956f194cba2cb5

commit ec1a695daa7390a6c24e3b28d3956f194cba2cb5
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Fri Jan 13 16:38:22 2017 +0100

    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 at mein.io>
---
 target/linux/generic/files/drivers/net/phy/ar8327.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/target/linux/generic/files/drivers/net/phy/ar8327.c b/target/linux/generic/files/drivers/net/phy/ar8327.c
index 74c80d4..72e0abc 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),



More information about the lede-commits mailing list