|
@@ -3388,14 +3388,18 @@ static int bnx2x_set_rss_flags(struct bnx2x *bp, struct ethtool_rxnfc *info)
|
|
|
DP(BNX2X_MSG_ETHTOOL,
|
|
|
"rss re-configured, UDP 4-tupple %s\n",
|
|
|
udp_rss_requested ? "enabled" : "disabled");
|
|
|
- return bnx2x_rss(bp, &bp->rss_conf_obj, false, true);
|
|
|
+ if (bp->state == BNX2X_STATE_OPEN)
|
|
|
+ return bnx2x_rss(bp, &bp->rss_conf_obj, false,
|
|
|
+ true);
|
|
|
} else if ((info->flow_type == UDP_V6_FLOW) &&
|
|
|
(bp->rss_conf_obj.udp_rss_v6 != udp_rss_requested)) {
|
|
|
bp->rss_conf_obj.udp_rss_v6 = udp_rss_requested;
|
|
|
DP(BNX2X_MSG_ETHTOOL,
|
|
|
"rss re-configured, UDP 4-tupple %s\n",
|
|
|
udp_rss_requested ? "enabled" : "disabled");
|
|
|
- return bnx2x_rss(bp, &bp->rss_conf_obj, false, true);
|
|
|
+ if (bp->state == BNX2X_STATE_OPEN)
|
|
|
+ return bnx2x_rss(bp, &bp->rss_conf_obj, false,
|
|
|
+ true);
|
|
|
}
|
|
|
return 0;
|
|
|
|
|
@@ -3509,7 +3513,10 @@ static int bnx2x_set_rxfh(struct net_device *dev, const u32 *indir,
|
|
|
bp->rss_conf_obj.ind_table[i] = indir[i] + bp->fp->cl_id;
|
|
|
}
|
|
|
|
|
|
- return bnx2x_config_rss_eth(bp, false);
|
|
|
+ if (bp->state == BNX2X_STATE_OPEN)
|
|
|
+ return bnx2x_config_rss_eth(bp, false);
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
/**
|