Comment 2 for bug 1872726

Revision history for this message
Frank Heimes (fheimes) wrote :

There is unfortnately no simple and clean cherry-pick possible of this commit to the ubuntu focal master-next tree. git cherry-pick complains with:

Performing inexact rename detection: 100% (3285744/3285744), done.
Auto-merging drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
error: could not apply 404402abd5f9... net/mlx5e: Fix endianness handling in pedit mask
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

The status is:

On branch master-next
Your branch is ahead of 'origin/master-next' by 2 commits.
  (use "git push" to publish your local commits)

You are currently cherry-picking commit 404402abd5f9.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
 both modified: drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

no changes added to commit (use "git add" and/or "git commit -a")

and diff:

diff --cc drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index 1f9107d83848,ec5fc52bf572..000000000000
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@@ -2421,13 -2475,12 +2421,22 @@@ static int offload_pedit_fields(struct
                if (skip)
                        continue;

++<<<<<<< HEAD
 + field_bsize = f->size * BITS_PER_BYTE;
 +
 + if (field_bsize == 32) {
 + mask_be32 = *(__be32 *)&mask;
 + mask = (__force unsigned long)cpu_to_le32(be32_to_cpu(mask_be32));
 + } else if (field_bsize == 16) {
 + mask_be16 = *(__be16 *)&mask;
++=======
+ if (f->field_bsize == 32) {
+ mask_be32 = (__be32)mask;
+ mask = (__force unsigned long)cpu_to_le32(be32_to_cpu(mask_be32));
+ } else if (f->field_bsize == 16) {
+ mask_be32 = (__be32)mask;
+ mask_be16 = *(__be16 *)&mask_be32;
++>>>>>>> 404402abd5f9... net/mlx5e: Fix endianness handling in pedit mask
                        mask = (__force unsigned long)cpu_to_le16(be16_to_cpu(mask_be16));
                }

Since this touches common code, please double check what else is needed to get it cleanly in.
git mergetool shows a lot of differences between focal master-next and 5.6/5.7 upstream in drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
So it needs to handled very carefully ...