diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-01-28 11:49:16 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-01-28 12:01:14 +0100 |
commit | 7d12f29ae1d7337e4289baf9e6b4bf79445b0d59 (patch) | |
tree | f1de19bc16dffcb0babcfe064dbb3bea0c1a014d /target/linux/bcm63xx/patches-5.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch | |
parent | 7521aedff46f731036c09f44859262085c00d303 (diff) | |
download | upstream-7d12f29ae1d7337e4289baf9e6b4bf79445b0d59.tar.gz upstream-7d12f29ae1d7337e4289baf9e6b4bf79445b0d59.tar.bz2 upstream-7d12f29ae1d7337e4289baf9e6b4bf79445b0d59.zip |
bcm63xx: fix bcm63xx ethernet kernel panics
Calling netdev_reset_queue() from _stop() functions is causing sporadic kernel
panics on bcm63xx, which happen mainly on BCM6318 and BCM6328.
This reverts to the previous behaviour, which called netdev_reset_queue() from
_open() functions.
Tested on Comtrend AR-5315u (BCM6318).
Fixes: 1d6f422e346b ("bcm63xx: sync ethernet driver with net-next")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm63xx/patches-5.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-5.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/target/linux/bcm63xx/patches-5.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch b/target/linux/bcm63xx/patches-5.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch index d9e49727da..a389f642ad 100644 --- a/target/linux/bcm63xx/patches-5.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch +++ b/target/linux/bcm63xx/patches-5.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch @@ -79,7 +79,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> else bcm_enet_adjust_link(dev); -@@ -1131,10 +1108,6 @@ out_freeirq_rx: +@@ -1133,10 +1110,6 @@ out_freeirq_rx: out_freeirq: free_irq(dev->irq, dev); @@ -90,7 +90,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> return ret; } -@@ -1228,10 +1201,6 @@ static int bcm_enet_stop(struct net_devi +@@ -1229,10 +1202,6 @@ static int bcm_enet_stop(struct net_devi free_irq(priv->irq_rx, dev); free_irq(dev->irq, dev); @@ -101,7 +101,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> return 0; } -@@ -1800,14 +1769,47 @@ static int bcm_enet_probe(struct platfor +@@ -1801,14 +1770,47 @@ static int bcm_enet_probe(struct platfor /* do minimal hardware init to be able to probe mii bus */ bcm_enet_hw_preinit(priv); @@ -150,7 +150,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> } bus = priv->mii_bus; -@@ -1831,6 +1833,26 @@ static int bcm_enet_probe(struct platfor +@@ -1832,6 +1834,26 @@ static int bcm_enet_probe(struct platfor dev_err(&pdev->dev, "unable to register mdio bus\n"); goto out_free_mdio; } @@ -177,7 +177,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> } else { /* run platform code to initialize PHY device */ -@@ -1838,45 +1860,16 @@ static int bcm_enet_probe(struct platfor +@@ -1839,45 +1861,16 @@ static int bcm_enet_probe(struct platfor pd->mii_config(dev, 1, bcm_enet_mdio_read_mii, bcm_enet_mdio_write_mii)) { dev_err(&pdev->dev, "unable to configure mdio bus\n"); @@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> if (priv->mii_bus) mdiobus_unregister(priv->mii_bus); -@@ -1884,6 +1877,9 @@ out_free_mdio: +@@ -1885,6 +1878,9 @@ out_free_mdio: if (priv->mii_bus) mdiobus_free(priv->mii_bus); @@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> out_uninit_hw: /* turn off mdc clock */ enet_writel(priv, 0, ENET_MIISC_REG); -@@ -1914,6 +1910,7 @@ static int bcm_enet_remove(struct platfo +@@ -1915,6 +1911,7 @@ static int bcm_enet_remove(struct platfo enet_writel(priv, 0, ENET_MIISC_REG); if (priv->has_phy) { |