net/hns3: fix link speed when VF device is down
[dpdk.git] / 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 =