]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/mlx5: HWS, Rightsize bwc matcher priority
authorVlad Dogaru <vdogaru@nvidia.com>
Mon, 10 Mar 2025 22:01:40 +0000 (00:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 Mar 2025 19:54:13 +0000 (12:54 -0700)
[ Upstream commit 521992337f67f71ce4436b98bc32563ddb1a5ce3 ]

The bwc layer was clamping the matcher priority from 32 bits to 16 bits.
This didn't show up until a matcher was resized, since the initial
native matcher was created using the correct 32 bit value.

The fix also reorders fields to avoid some padding.

Fixes: 2111bb970c78 ("net/mlx5: HWS, added backward-compatible API handling")
Signed-off-by: Vlad Dogaru <vdogaru@nvidia.com>
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/1741644104-97767-3-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws_bwc.h

index 4fe8c32d8fbe86304f1bf40f81e1cfbc53945145..681fb73f00bbf3b16b4ebf04b1202f73a34af530 100644 (file)
@@ -16,8 +16,8 @@ struct mlx5hws_bwc_matcher {
        struct mlx5hws_matcher *matcher;
        struct mlx5hws_match_template *mt;
        struct mlx5hws_action_template *at[MLX5HWS_BWC_MATCHER_ATTACH_AT_NUM];
+       u32 priority;
        u8 num_of_at;
-       u16 priority;
        u8 size_log;
        u32 num_of_rules; /* atomically accessed */
        struct list_head *rules;