net/hns3: fix link speed when VF device is down
authorHuisong Li <lihuisong@huawei.com>
Sat, 15 May 2021 00:52:38 +0000 (08:52 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 18 May 2021 10:30:14 +0000 (12:30 +0200)
When the port is link down state, it is meaningless to display the
port link speed. It should be an undefined state.

Fixes: 59fad0f32135 ("net/hns3: support link update operation")
Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/hns3/hns3_ethdev_vf.c

index c649616..41dd8ee 100644 (file)
@@ -2205,16 +2205,18 @@ hns3vf_dev_link_update(struct rte_eth_dev *eth_dev,
        case ETH_SPEED_NUM_50G:
        case ETH_SPEED_NUM_100G:
        case ETH_SPEED_NUM_200G:
-               new_link.link_speed = mac->link_speed;
+               if (mac->link_status)
+                       new_link.link_speed = mac->link_speed;
                break;
        default:
                if (mac->link_status)
                        new_link.link_speed = ETH_SPEED_NUM_UNKNOWN;
-               else
-                       new_link.link_speed = ETH_SPEED_NUM_NONE;
                break;
        }
 
+       if (!mac->link_status)
+               new_link.link_speed = ETH_SPEED_NUM_NONE;
+
        new_link.link_duplex = mac->link_duplex;
        new_link.link_status = mac->link_status ? ETH_LINK_UP : ETH_LINK_DOWN;
        new_link.link_autoneg =