net/ena: restart only initialized queues instead of all
authorMichal Krawczyk <mk@semihalf.com>
Thu, 7 Jun 2018 09:43:03 +0000 (11:43 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 14 Jun 2018 17:27:50 +0000 (19:27 +0200)
There is no need to check for restart all queues. It is sufficient to
check only previously initialized queues.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
drivers/net/ena/ena_ethdev.c

index 1b8fc0f..58cf8a9 100644 (file)
@@ -749,13 +749,18 @@ static int ena_queue_restart_all(struct rte_eth_dev *dev,
        struct ena_adapter *adapter =
                (struct ena_adapter *)(dev->data->dev_private);
        struct ena_ring *queues = NULL;
+       int nb_queues;
        int i = 0;
        int rc = 0;
 
-       queues = (ring_type == ENA_RING_TYPE_RX) ?
-               adapter->rx_ring : adapter->tx_ring;
-
-       for (i = 0; i < adapter->num_queues; i++) {
+       if (ring_type == ENA_RING_TYPE_RX) {
+               queues = adapter->rx_ring;
+               nb_queues = dev->data->nb_rx_queues;
+       } else {
+               queues = adapter->tx_ring;
+               nb_queues = dev->data->nb_tx_queues;
+       }
+       for (i = 0; i < nb_queues; i++) {
                if (queues[i].configured) {
                        if (ring_type == ENA_RING_TYPE_RX) {
                                ena_assert_msg(