]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.9.132/net-hns-add-netif_carrier_off-before-change-speed-and-duplex.patch
Linux 4.14.95
[thirdparty/kernel/stable-queue.git] / releases / 4.9.132 / net-hns-add-netif_carrier_off-before-change-speed-and-duplex.patch
CommitLineData
12eb7899
GKH
1From foo@baz Thu Oct 4 12:38:43 PDT 2018
2From: Peng Li <lipeng321@huawei.com>
3Date: Mon, 27 Aug 2018 09:59:30 +0800
4Subject: net: hns: add netif_carrier_off before change speed and duplex
5
6From: Peng Li <lipeng321@huawei.com>
7
8[ Upstream commit 455c4401fe7a538facaffb35b906ce19f1ece474 ]
9
10If there are packets in hardware when changing the speed
11or duplex, it may cause hardware hang up.
12
13This patch adds netif_carrier_off before change speed and
14duplex in ethtool_ops.set_link_ksettings, and adds
15netif_carrier_on after complete the change.
16
17Signed-off-by: Peng Li <lipeng321@huawei.com>
18Signed-off-by: David S. Miller <davem@davemloft.net>
19Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
20Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21---
22 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 2 ++
23 1 file changed, 2 insertions(+)
24
25--- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
26+++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
27@@ -243,7 +243,9 @@ static int hns_nic_set_link_ksettings(st
28 }
29
30 if (h->dev->ops->adjust_link) {
31+ netif_carrier_off(net_dev);
32 h->dev->ops->adjust_link(h, (int)speed, cmd->base.duplex);
33+ netif_carrier_on(net_dev);
34 return 0;
35 }
36