Blob Blame History Raw
From 6ff8142033aed6f9eafe7c4f8a67a55c5a98ab2f Mon Sep 17 00:00:00 2001
From: Edward Cree <ecree@solarflare.com>
Date: Mon, 19 Mar 2018 16:52:06 +0000
Subject: [PATCH 18/18] ethtool: don't fall back to grxfhindir when context was
 specified

In do_grfxh(), if rss_context is non-zero, we must not fall back to
 do_grxfhindir() if ETHTOOL_GRSSH fails, for that reads the default RSS
 context and not the one specified.

Fixes: f5d55b967e0c ("ethtool: add support for extra RSS contexts and RSS steering filters")
Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
(cherry picked from commit 7984d34ea893a529330b6addb959cbf6e3ec026f)
---
 ethtool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ethtool.c b/ethtool.c
index a276fdb..2ecc13f 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -3748,7 +3748,7 @@ static int do_grxfh(struct cmd_context *ctx)
 	rss_head.cmd = ETHTOOL_GRSSH;
 	rss_head.rss_context = rss_context;
 	err = send_ioctl(ctx, &rss_head);
-	if (err < 0 && errno == EOPNOTSUPP) {
+	if (err < 0 && errno == EOPNOTSUPP && !rss_context) {
 		return do_grxfhindir(ctx, &ring_count);
 	} else if (err < 0) {
 		perror("Cannot get RX flow hash indir size and/or key size");
-- 
1.8.3.1