mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
net: stmmac: selftests: Update status when disabling RSS
commite715d74504upstream. We are disabling RSS on HW but not updating the internal private status to the 'disabled' state. This is needed for next tc commit that will check if RSS is disabled before trying to apply filters. Fixes:4647e02119("net: stmmac: selftests: Add selftest for L3/L4 Filters") Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6084f8300e
commit
ba1c4fa2da
@@ -1297,16 +1297,19 @@ static int __stmmac_test_l3filt(struct stmmac_priv *priv, u32 dst, u32 src,
|
||||
struct stmmac_packet_attrs attr = { };
|
||||
struct flow_dissector *dissector;
|
||||
struct flow_cls_offload *cls;
|
||||
int ret, old_enable = 0;
|
||||
struct flow_rule *rule;
|
||||
int ret;
|
||||
|
||||
if (!tc_can_offload(priv->dev))
|
||||
return -EOPNOTSUPP;
|
||||
if (!priv->dma_cap.l3l4fnum)
|
||||
return -EOPNOTSUPP;
|
||||
if (priv->rss.enable)
|
||||
if (priv->rss.enable) {
|
||||
old_enable = priv->rss.enable;
|
||||
priv->rss.enable = false;
|
||||
stmmac_rss_configure(priv, priv->hw, NULL,
|
||||
priv->plat->rx_queues_to_use);
|
||||
}
|
||||
|
||||
dissector = kzalloc(sizeof(*dissector), GFP_KERNEL);
|
||||
if (!dissector) {
|
||||
@@ -1373,7 +1376,8 @@ cleanup_cls:
|
||||
cleanup_dissector:
|
||||
kfree(dissector);
|
||||
cleanup_rss:
|
||||
if (priv->rss.enable) {
|
||||
if (old_enable) {
|
||||
priv->rss.enable = old_enable;
|
||||
stmmac_rss_configure(priv, priv->hw, &priv->rss,
|
||||
priv->plat->rx_queues_to_use);
|
||||
}
|
||||
@@ -1418,16 +1422,19 @@ static int __stmmac_test_l4filt(struct stmmac_priv *priv, u32 dst, u32 src,
|
||||
struct stmmac_packet_attrs attr = { };
|
||||
struct flow_dissector *dissector;
|
||||
struct flow_cls_offload *cls;
|
||||
int ret, old_enable = 0;
|
||||
struct flow_rule *rule;
|
||||
int ret;
|
||||
|
||||
if (!tc_can_offload(priv->dev))
|
||||
return -EOPNOTSUPP;
|
||||
if (!priv->dma_cap.l3l4fnum)
|
||||
return -EOPNOTSUPP;
|
||||
if (priv->rss.enable)
|
||||
if (priv->rss.enable) {
|
||||
old_enable = priv->rss.enable;
|
||||
priv->rss.enable = false;
|
||||
stmmac_rss_configure(priv, priv->hw, NULL,
|
||||
priv->plat->rx_queues_to_use);
|
||||
}
|
||||
|
||||
dissector = kzalloc(sizeof(*dissector), GFP_KERNEL);
|
||||
if (!dissector) {
|
||||
@@ -1499,7 +1506,8 @@ cleanup_cls:
|
||||
cleanup_dissector:
|
||||
kfree(dissector);
|
||||
cleanup_rss:
|
||||
if (priv->rss.enable) {
|
||||
if (old_enable) {
|
||||
priv->rss.enable = old_enable;
|
||||
stmmac_rss_configure(priv, priv->hw, &priv->rss,
|
||||
priv->plat->rx_queues_to_use);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user