net/sfc: specify correct scale table size on Rx start
authorIvan Malov <ivan.malov@oktetlabs.ru>
Mon, 28 Aug 2017 12:53:46 +0000 (13:53 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 6 Oct 2017 00:49:47 +0000 (02:49 +0200)
efx_rx_scale_tbl_set() takes the number of entries in the scale table
to be set, not the size of the table in bytes; currently this bug does
not make any damage since the size argument is used to wrap the loop
on the input table when filling in an MCDI request in case if the table
size in the MCDI request is larger then one provided by the user,
and MCDI scale table size is the same as the size of the table provided
by the driver; this patch brings a fix for the bug

Fixes: 4ec1fc3ba881 ("net/sfc: add basic stubs for RSS support on driver attach")
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 1bf8644..364f718 100644 (file)
@@ -1068,7 +1068,7 @@ sfc_rx_rss_config(struct sfc_adapter *sa)
                        goto finish;
 
                rc = efx_rx_scale_tbl_set(sa->nic, sa->rss_tbl,
-                                         sizeof(sa->rss_tbl));
+                                         RTE_DIM(sa->rss_tbl));
        }
 
 finish: