net/mlx5: add C++ include guard to public header
[dpdk.git] / drivers / net / bnxt / bnxt_rxq.c
index 1456f8b..cd3bb14 100644 (file)
@@ -148,7 +148,7 @@ skip_filter_allocation:
        bp->rx_num_qs_per_vnic = nb_q_per_grp;
 
        if (dev_conf->rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) {
-               struct rte_eth_rss_conf *rss = &dev_conf->rx_adv_conf.rss_conf;
+               struct rte_eth_rss_conf *rss = &bp->rss_conf;
 
                if (bp->flags & BNXT_FLAG_UPDATE_HASH)
                        bp->flags &= ~BNXT_FLAG_UPDATE_HASH;
@@ -214,7 +214,9 @@ void bnxt_rx_queue_release_mbufs(struct bnxt_rx_queue *rxq)
                }
        }
        /* Free up mbufs in Agg ring */
-       if (!bnxt_need_agg_ring(rxq->bp->eth_dev))
+       if (rxq->bp == NULL ||
+           rxq->bp->eth_dev == NULL ||
+           !bnxt_need_agg_ring(rxq->bp->eth_dev))
                return;
 
        sw_ring = rxq->rx_ring->ag_buf_ring;
@@ -574,6 +576,9 @@ int bnxt_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
                if (active_queue_cnt == 0) {
                        uint16_t saved_mru = vnic->mru;
 
+                       /* clear RSS setting on vnic. */
+                       bnxt_vnic_rss_clear_p5(bp, vnic);
+
                        vnic->mru = 0;
                        /* Reconfigure default receive ring and MRU. */
                        bnxt_hwrm_vnic_cfg(bp, vnic);