diff options
author | Ziyang Xuan <william.xuanziyang@huawei.com> | 2022-11-11 15:08:47 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-11-14 10:55:43 +0000 |
commit | 9d3ff7131877fb092185c369fbb14b57ac4e7cec (patch) | |
tree | c3550a71fc50485cb7f79f385ee88be00288b724 | |
parent | 298b83e180d53a310f9b47e3bf13b7b583e75e9c (diff) | |
download | linux-9d3ff7131877fb092185c369fbb14b57ac4e7cec.tar.gz |
octeon_ep: ensure octep_get_link_status() successfully before octep_link_up()
octep_get_link_status() can fail because send mbox message failed, then
octep_get_link_status() will return ret less than 0. Excute octep_link_up()
as long as ret is not equal to 0 in octep_open() now. That is not correct.
The value type of link.state is enum octep_ctrl_net_state. Positive value
represents up. Excute octep_link_up() when ret is bigger than 0.
Fixes: 862cd659a6fb ("octeon_ep: Add driver framework and device initialization")
Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/marvell/octeon_ep/octep_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c index 7985a748fafe..546bcebf4462 100644 --- a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c +++ b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c @@ -521,7 +521,7 @@ static int octep_open(struct net_device *netdev) octep_oq_dbell_init(oct); ret = octep_get_link_status(oct); - if (ret) + if (ret > 0) octep_link_up(netdev); return 0; |