Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7f80189 authored by Edward Cree's avatar Edward Cree Committed by David S. Miller
Browse files

sfc: pass the correctly bogus filter_id to rps_may_expire_flow()



When we inserted an ARFS filter for ndo_rx_flow_steer(), we didn't know
 what the filter ID would be, so we just returned 0.  Thus, we must also
 pass 0 as the filter ID when calling rps_may_expire_flow() for it, and
 rely on the flow_id to identify what we're talking about.

Fixes: 3af0f342 ("sfc: replace asynchronous filter operations")
Signed-off-by: default avatarEdward Cree <ecree@solarflare.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 494bef4c
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -4776,8 +4776,7 @@ static bool efx_ef10_filter_rfs_expire_one(struct efx_nic *efx, u32 flow_id,
		goto out_unlock;
	}

	if (!rps_may_expire_flow(efx->net_dev, spec->dmaq_id,
				 flow_id, filter_idx)) {
	if (!rps_may_expire_flow(efx->net_dev, spec->dmaq_id, flow_id, 0)) {
		ret = false;
		goto out_unlock;
	}
+1 −1
Original line number Diff line number Diff line
@@ -2912,7 +2912,7 @@ bool efx_farch_filter_rfs_expire_one(struct efx_nic *efx, u32 flow_id,
	if (test_bit(index, table->used_bitmap) &&
	    table->spec[index].priority == EFX_FILTER_PRI_HINT &&
	    rps_may_expire_flow(efx->net_dev, table->spec[index].dmaq_id,
				flow_id, index)) {
				flow_id, 0)) {
		efx_farch_filter_table_clear_entry(efx, table, index);
		ret = true;
	}