summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale
diff options
context:
space:
mode:
authorMathias Thore <mathias.thore@infinera.com>2019-01-28 12:07:47 +0300
committerDavid S. Miller <davem@davemloft.net>2019-01-30 21:36:23 +0300
commite15aa3b2b1388c399c1a2ce08550d2cc4f7e3e14 (patch)
tree4110abd3aabe2b7ba98b0dba67eb61a54469f1b7 /drivers/net/ethernet/freescale
parent794827f3ea9ddc53ea900395953381a4252c7cb8 (diff)
downloadlinux-e15aa3b2b1388c399c1a2ce08550d2cc4f7e3e14.tar.xz
ucc_geth: Reset BQL queue when stopping device
After a timeout event caused by for example a broadcast storm, when the MAC and PHY are reset, the BQL TX queue needs to be reset as well. Otherwise, the device will exhibit severe performance issues even after the storm has ended. Co-authored-by: David Gounaris <david.gounaris@infinera.com> Signed-off-by: Mathias Thore <mathias.thore@infinera.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale')
-rw-r--r--drivers/net/ethernet/freescale/ucc_geth.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c
index c3d539e209ed..eb3e65e8868f 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -1879,6 +1879,8 @@ static void ucc_geth_free_tx(struct ucc_geth_private *ugeth)
u16 i, j;
u8 __iomem *bd;
+ netdev_reset_queue(ugeth->ndev);
+
ug_info = ugeth->ug_info;
uf_info = &ug_info->uf_info;