summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaed Salem <raeds@nvidia.com>2022-10-31 08:22:04 +0200
committerSaeed Mahameed <saeedm@nvidia.com>2022-11-24 00:03:22 -0800
commiteead5ea2fce4196139f399a5727602c3747e1370 (patch)
tree9e83ba0e5426605ffe211ada7429ada6125d3cdc
parent9b9e23c4dc2b632ece44c68ce6aebc0bf841d6a2 (diff)
downloadlinux-eead5ea2fce4196139f399a5727602c3747e1370.tar.bz2
net/mlx5e: MACsec, fix update Rx secure channel active field
The main functionality for this operation is to update the active state of the Rx security channel (SC) if the new active setting is different from the current active state of this Rx SC, however the relevant active state check is done post updating the current active state to match the new active state, effectively blocks any offload state update for the Rx SC in question. Fix by delay the assignment to be post the relevant check. Fixes: aae3454e4d4c ("net/mlx5e: Add MACsec offload Rx command support") Signed-off-by: Raed Salem <raeds@nvidia.com> Reviewed-by: Emeel Hakim <ehakim@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c
index b51de07d5bad..9c891a877998 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c
@@ -803,10 +803,10 @@ static int mlx5e_macsec_upd_rxsc(struct macsec_context *ctx)
goto out;
}
- rx_sc->active = ctx_rx_sc->active;
if (rx_sc->active == ctx_rx_sc->active)
goto out;
+ rx_sc->active = ctx_rx_sc->active;
for (i = 0; i < MACSEC_NUM_AN; ++i) {
rx_sa = rx_sc->rx_sa[i];
if (!rx_sa)