bcm63xx: fix bcm63xx ethernet kernel panics
[openwrt/staging/mkresin.git] / target / linux / bcm63xx / patches-5.4 / 047-bcm63xx_enet-fix-kernel-panic.patch
1 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
2 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
3 @@ -1105,6 +1105,8 @@ static int bcm_enet_open(struct net_devi
4 else
5 bcm_enet_adjust_link(dev);
6
7 + netdev_reset_queue(dev);
8 +
9 netif_start_queue(dev);
10 return 0;
11
12 @@ -1193,7 +1195,6 @@ static int bcm_enet_stop(struct net_devi
13 kdev = &priv->pdev->dev;
14
15 netif_stop_queue(dev);
16 - netdev_reset_queue(dev);
17 napi_disable(&priv->napi);
18 if (priv->has_phy)
19 phy_stop(dev->phydev);
20 @@ -2267,6 +2268,7 @@ static int bcm_enetsw_open(struct net_de
21 enet_dmac_writel(priv, ENETDMAC_IR_PKTDONE_MASK,
22 ENETDMAC_IRMASK, priv->tx_chan);
23
24 + netdev_reset_queue(dev);
25 netif_carrier_on(dev);
26 netif_start_queue(dev);
27
28 @@ -2348,7 +2350,6 @@ static int bcm_enetsw_stop(struct net_de
29
30 del_timer_sync(&priv->swphy_poll);
31 netif_stop_queue(dev);
32 - netdev_reset_queue(dev);
33 napi_disable(&priv->napi);
34 del_timer_sync(&priv->rx_timeout);
35