net/ice: track DCF state of PF
[dpdk.git] / drivers / net / bnxt / bnxt_cpr.c
index 63ff02a..a43b22a 100644 (file)
@@ -74,7 +74,7 @@ bnxt_process_default_vnic_change(struct bnxt *bp,
                        BNXT_DEFAULT_VNIC_CHANGE_VF_ID_SFT;
        PMD_DRV_LOG(INFO, "async event received vf_id 0x%x\n", vf_fid);
 
-       for (vf_id = 0; vf_id < BNXT_MAX_VF_REPS; vf_id++) {
+       for (vf_id = 0; vf_id < BNXT_MAX_VF_REPS(bp); vf_id++) {
                eth_dev = bp->rep_info[vf_id].vfr_eth_dev;
                if (!eth_dev)
                        continue;
@@ -387,4 +387,13 @@ void bnxt_stop_rxtx(struct bnxt *bp)
 {
        bp->eth_dev->rx_pkt_burst = &bnxt_dummy_recv_pkts;
        bp->eth_dev->tx_pkt_burst = &bnxt_dummy_xmit_pkts;
+
+       rte_eth_fp_ops[bp->eth_dev->data->port_id].rx_pkt_burst =
+               bp->eth_dev->rx_pkt_burst;
+       rte_eth_fp_ops[bp->eth_dev->data->port_id].tx_pkt_burst =
+               bp->eth_dev->tx_pkt_burst;
+       rte_mb();
+
+       /* Allow time for threads to exit the real burst functions. */
+       rte_delay_ms(100);
 }