net/mlx5: fix using flow tunnel before null check
[dpdk.git] / drivers / net / hns3 / hns3_ethdev_vf.c
index 7ee468f..6c3ddcc 100644 (file)
@@ -2123,7 +2123,10 @@ hns3vf_dev_link_update(struct rte_eth_dev *eth_dev,
                new_link.link_speed = mac->link_speed;
                break;
        default:
-               new_link.link_speed = ETH_SPEED_NUM_100M;
+               if (mac->link_status)
+                       new_link.link_speed = ETH_SPEED_NUM_UNKNOWN;
+               else
+                       new_link.link_speed = ETH_SPEED_NUM_NONE;
                break;
        }
 
@@ -2781,7 +2784,7 @@ static const struct eth_dev_ops hns3vf_eth_dev_ops = {
        .rss_hash_conf_get  = hns3_dev_rss_hash_conf_get,
        .reta_update        = hns3_dev_rss_reta_update,
        .reta_query         = hns3_dev_rss_reta_query,
-       .filter_ctrl        = hns3_dev_filter_ctrl,
+       .flow_ops_get       = hns3_dev_flow_ops_get,
        .vlan_filter_set    = hns3vf_vlan_filter_set,
        .vlan_offload_set   = hns3vf_vlan_offload_set,
        .get_reg            = hns3_get_regs,
@@ -2915,8 +2918,10 @@ err_mp_init_primary:
 err_mp_init_secondary:
        eth_dev->dev_ops = NULL;
        eth_dev->rx_pkt_burst = NULL;
+       eth_dev->rx_descriptor_status = NULL;
        eth_dev->tx_pkt_burst = NULL;
        eth_dev->tx_pkt_prepare = NULL;
+       eth_dev->tx_descriptor_status = NULL;
        rte_free(eth_dev->process_private);
        eth_dev->process_private = NULL;