Skip to content

Commit 987c658

Browse files
ecree-solarflaredavem330
authored andcommitted
sfc: fix ARFS expiry check on EF10
Owing to a missing conditional, the result of rps_may_expire_flow() was being ignored and filters were being removed even if we'd decided not to expire them. Fixes: f8d6203 ("sfc: ARFS filter IDs") Signed-off-by: Edward Cree <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent ded8b9c commit 987c658

File tree

1 file changed

+3
-2
lines changed
  • drivers/net/ethernet/sfc

1 file changed

+3
-2
lines changed

drivers/net/ethernet/sfc/ef10.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4784,8 +4784,9 @@ static bool efx_ef10_filter_rfs_expire_one(struct efx_nic *efx, u32 flow_id,
47844784
* will set rule->filter_id to EFX_ARFS_FILTER_ID_PENDING, meaning that
47854785
* the rule is not removed by efx_rps_hash_del() below.
47864786
*/
4787-
ret = efx_ef10_filter_remove_internal(efx, 1U << spec->priority,
4788-
filter_idx, true) == 0;
4787+
if (ret)
4788+
ret = efx_ef10_filter_remove_internal(efx, 1U << spec->priority,
4789+
filter_idx, true) == 0;
47894790
/* While we can't safely dereference rule (we dropped the lock), we can
47904791
* still test it for NULL.
47914792
*/

0 commit comments

Comments
 (0)