Commit 1012014e authored by Keller, Jacob E's avatar Keller, Jacob E Committed by David S. Miller

fm10k: don't reinitialize RSS flow table when RXFH configured

Also print an error message incase we do have to reconfigure as this
should no longer happen anymore due to ethtool changes. If it somehow
does occur, user should be made aware of it.
Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8bf36862
...@@ -1937,8 +1937,10 @@ static void fm10k_init_reta(struct fm10k_intfc *interface) ...@@ -1937,8 +1937,10 @@ static void fm10k_init_reta(struct fm10k_intfc *interface)
u16 i, rss_i = interface->ring_feature[RING_F_RSS].indices; u16 i, rss_i = interface->ring_feature[RING_F_RSS].indices;
u32 reta, base; u32 reta, base;
/* If the netdev is initialized we have to maintain table if possible */ /* If the Rx flow indirection table has been configured manually, we
if (interface->netdev->reg_state != NETREG_UNINITIALIZED) { * need to maintain it when possible.
*/
if (netif_is_rxfh_configured(interface->netdev)) {
for (i = FM10K_RETA_SIZE; i--;) { for (i = FM10K_RETA_SIZE; i--;) {
reta = interface->reta[i]; reta = interface->reta[i];
if ((((reta << 24) >> 24) < rss_i) && if ((((reta << 24) >> 24) < rss_i) &&
...@@ -1946,6 +1948,10 @@ static void fm10k_init_reta(struct fm10k_intfc *interface) ...@@ -1946,6 +1948,10 @@ static void fm10k_init_reta(struct fm10k_intfc *interface)
(((reta << 8) >> 24) < rss_i) && (((reta << 8) >> 24) < rss_i) &&
(((reta) >> 24) < rss_i)) (((reta) >> 24) < rss_i))
continue; continue;
/* this should never happen */
dev_err(&interface->pdev->dev,
"RSS indirection table assigned flows out of queue bounds. Reconfiguring.\n");
goto repopulate_reta; goto repopulate_reta;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment