net/sfc: do not skip RSS configuration step on reconfigure
authorIvan Malov <ivan.malov@oktetlabs.ru>
Thu, 11 Oct 2018 14:49:30 +0000 (15:49 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 11 Oct 2018 17:34:29 +0000 (19:34 +0200)
Earlier a patch was made to support change of Rx queue
number. That patch added goto label in wrong place
because reconfiguration with the same number of queues
results in skipping not only queue init but also RSS
settings. If a user configures device with RSS multiqueue
mode and then wants to stop it and reconfigure without RSS,
this change will be ignored and RSS will continue working.

Move the label in the right place and rename it to describe it.

Fixes: 55a539003f1a ("net/sfc: support changing the number of receive queues")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
drivers/net/sfc/sfc_rx.c

index 000cd0b..5535764 100644 (file)
@@ -1504,7 +1504,7 @@ sfc_rx_configure(struct sfc_adapter *sa)
                goto fail_check_mode;
 
        if (nb_rx_queues == sa->rxq_count)
-               goto done;
+               goto configure_rss;
 
        if (sa->rxq_info == NULL) {
                rc = ENOMEM;
@@ -1541,6 +1541,7 @@ sfc_rx_configure(struct sfc_adapter *sa)
                sa->rxq_count++;
        }
 
+configure_rss:
        rss->channels = (dev_conf->rxmode.mq_mode == ETH_MQ_RX_RSS) ?
                         MIN(sa->rxq_count, EFX_MAXRSS) : 0;
 
@@ -1557,7 +1558,6 @@ sfc_rx_configure(struct sfc_adapter *sa)
                        goto fail_rx_process_adv_conf_rss;
        }
 
-done:
        return 0;
 
 fail_rx_process_adv_conf_rss: