net/hns3: fix link speed when port is down
authorHuisong Li <lihuisong@huawei.com>
Sun, 25 Apr 2021 12:06:29 +0000 (20:06 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 29 Apr 2021 07:54:27 +0000 (09:54 +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.c

index 63ae555..a6f4c92 100644 (file)
@@ -2870,16 +2870,18 @@ hns3_setup_linkstatus(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 = mac->link_autoneg;