summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorMathias Thore <mathias.thore@infinera.com>2019-01-28 10:07:47 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-02-06 17:33:27 +0100
commitdc0fb8cceee31ff5bb356509d7ca46417709742a (patch)
tree1f5257a1642442ee50ba2b39fbac03a1cf271f0e /drivers/net
parent5d16d812d92337fddc1fd2e9c79ec26d7cd3bbdd (diff)
ucc_geth: Reset BQL queue when stopping device
[ Upstream commit e15aa3b2b1388c399c1a2ce08550d2cc4f7e3e14 ] 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net')
-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 ef9bc26ebc1a..714593023bbc 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -1888,6 +1888,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;