]>
Commit | Line | Data |
---|---|---|
91c6c13d GKH |
1 | From foo@baz Sat Feb 2 11:39:00 CET 2019 |
2 | From: Mathias Thore <mathias.thore@infinera.com> | |
3 | Date: Mon, 28 Jan 2019 10:07:47 +0100 | |
4 | Subject: ucc_geth: Reset BQL queue when stopping device | |
5 | ||
6 | From: Mathias Thore <mathias.thore@infinera.com> | |
7 | ||
8 | [ Upstream commit e15aa3b2b1388c399c1a2ce08550d2cc4f7e3e14 ] | |
9 | ||
10 | After a timeout event caused by for example a broadcast storm, when | |
11 | the MAC and PHY are reset, the BQL TX queue needs to be reset as | |
12 | well. Otherwise, the device will exhibit severe performance issues | |
13 | even after the storm has ended. | |
14 | ||
15 | Co-authored-by: David Gounaris <david.gounaris@infinera.com> | |
16 | Signed-off-by: Mathias Thore <mathias.thore@infinera.com> | |
17 | Signed-off-by: David S. Miller <davem@davemloft.net> | |
18 | Signed-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 |