Blame SOURCES/0001-netlink-Fix-the-condition-for-displaying-actual-chan.patch

83ef35
From 89b49b2a88392c510c6a171940701ba4cf580116 Mon Sep 17 00:00:00 2001
83ef35
From: Maxim Mikityanskiy <maximmi@mellanox.com>
83ef35
Date: Fri, 14 Aug 2020 16:17:44 +0300
83ef35
Subject: [PATCH 01/17] netlink: Fix the condition for displaying actual
83ef35
 changes
83ef35
83ef35
This comment in the code:
83ef35
83ef35
    /* result is not exactly as requested, show differences */
83ef35
83ef35
implies that the "Actual changes" output should be displayed only if the
83ef35
result is not as requested, which matches the legacy ethtool behavior.
83ef35
However, in fact, ethtool-netlink displays "actual changes" even when
83ef35
the changes are expected (e.g., one bit was requested, and it was
83ef35
changed as requested).
83ef35
83ef35
This commit fixes the condition above to make the behavior match the
83ef35
description in the comment and the behavior of the legacy ethtool. The
83ef35
new condition excludes the req_mask bits from active_mask to avoid
83ef35
reacting on bit changes that we asked for. The new condition now
83ef35
matches the ifs in the loop above that print "[requested on/off]" and
83ef35
"[not requested]".
83ef35
83ef35
Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
83ef35
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
83ef35
(cherry picked from commit 83d2b635de121a16a27663cc4e3045243e56063b)
83ef35
---
83ef35
 netlink/features.c | 2 +-
83ef35
 1 file changed, 1 insertion(+), 1 deletion(-)
83ef35
83ef35
diff --git a/netlink/features.c b/netlink/features.c
83ef35
index 8b5b8588ca23..133529da2b9f 100644
83ef35
--- a/netlink/features.c
83ef35
+++ b/netlink/features.c
83ef35
@@ -413,7 +413,7 @@ static void show_feature_changes(struct nl_context *nlctx,
83ef35
 
83ef35
 	diff = false;
83ef35
 	for (i = 0; i < words; i++)
83ef35
-		if (wanted_mask[i] || active_mask[i])
83ef35
+		if (wanted_mask[i] || (active_mask[i] & ~sfctx->req_mask[i]))
83ef35
 			diff = true;
83ef35
 	if (!diff)
83ef35
 		return;
83ef35
-- 
83ef35
2.26.2
83ef35