]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.4.173/ucc_geth-reset-bql-queue-when-stopping-device.patch
5.1-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.4.173 / ucc_geth-reset-bql-queue-when-stopping-device.patch
CommitLineData
91c6c13d
GKH
1From foo@baz Sat Feb 2 11:39:00 CET 2019
2From: Mathias Thore <mathias.thore@infinera.com>
3Date: Mon, 28 Jan 2019 10:07:47 +0100
4Subject: ucc_geth: Reset BQL queue when stopping device
5
6From: Mathias Thore <mathias.thore@infinera.com>
7
8[ Upstream commit e15aa3b2b1388c399c1a2ce08550d2cc4f7e3e14 ]
9
10After a timeout event caused by for example a broadcast storm, when
11the MAC and PHY are reset, the BQL TX queue needs to be reset as
12well. Otherwise, the device will exhibit severe performance issues
13even after the storm has ended.
14
15Co-authored-by: David Gounaris <david.gounaris@infinera.com>
16Signed-off-by: Mathias Thore <mathias.thore@infinera.com>
17Signed-off-by: David S. Miller <davem@davemloft.net>
18Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19---
20 drivers/net/ethernet/freescale/ucc_geth.c | 2 ++
21 1 file changed, 2 insertions(+)
22
23--- a/drivers/net/ethernet/freescale/ucc_geth.c
24+++ b/drivers/net/ethernet/freescale/ucc_geth.c
25@@ -1888,6 +1888,8 @@ static void ucc_geth_free_tx(struct ucc_
26 u16 i, j;
27 u8 __iomem *bd;
28
29+ netdev_reset_queue(ugeth->ndev);
30+
31 ug_info = ugeth->ug_info;
32 uf_info = &ug_info->uf_info;
33