]>
Commit | Line | Data |
---|---|---|
12eb7899 GKH |
1 | From foo@baz Thu Oct 4 12:38:43 PDT 2018 |
2 | From: Peng Li <lipeng321@huawei.com> | |
3 | Date: Mon, 27 Aug 2018 09:59:30 +0800 | |
4 | Subject: net: hns: add netif_carrier_off before change speed and duplex | |
5 | ||
6 | From: Peng Li <lipeng321@huawei.com> | |
7 | ||
8 | [ Upstream commit 455c4401fe7a538facaffb35b906ce19f1ece474 ] | |
9 | ||
10 | If there are packets in hardware when changing the speed | |
11 | or duplex, it may cause hardware hang up. | |
12 | ||
13 | This patch adds netif_carrier_off before change speed and | |
14 | duplex in ethtool_ops.set_link_ksettings, and adds | |
15 | netif_carrier_on after complete the change. | |
16 | ||
17 | Signed-off-by: Peng Li <lipeng321@huawei.com> | |
18 | Signed-off-by: David S. Miller <davem@davemloft.net> | |
19 | Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> | |
20 | Signed-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 |