net/bnxt: keep consistent Rx queue start/stop state
Receive queue state needs to reflect "started" state when rebuilding the RSS table for Thor-based NICs. Move state update so that receive queues being started are included in the RSS table. Fixes: 38412304b50a ("net/bnxt: enable RSS for thor-based controllers") Cc: stable@dpdk.org Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
This commit is contained in:
parent
34a068411a
commit
f9241d2fae
@ -444,6 +444,8 @@ int bnxt_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id)
|
||||
* If queue is it started, we do not post buffers for Rx.
|
||||
*/
|
||||
rxq->rx_started = true;
|
||||
dev->data->rx_queue_state[rx_queue_id] = RTE_ETH_QUEUE_STATE_STARTED;
|
||||
|
||||
bnxt_free_hwrm_rx_ring(bp, rx_queue_id);
|
||||
rc = bnxt_alloc_hwrm_rx_ring(bp, rx_queue_id);
|
||||
if (rc)
|
||||
@ -469,11 +471,11 @@ int bnxt_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id)
|
||||
rc = bnxt_vnic_rss_configure(bp, vnic);
|
||||
}
|
||||
|
||||
if (rc == 0)
|
||||
if (rc != 0) {
|
||||
dev->data->rx_queue_state[rx_queue_id] =
|
||||
RTE_ETH_QUEUE_STATE_STARTED;
|
||||
else
|
||||
RTE_ETH_QUEUE_STATE_STOPPED;
|
||||
rxq->rx_started = false;
|
||||
}
|
||||
|
||||
PMD_DRV_LOG(INFO,
|
||||
"queue %d, rx_deferred_start %d, state %d!\n",
|
||||
|
Loading…
x
Reference in New Issue
Block a user