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 <[email protected]>
---
ethtool.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ethtool.c b/ethtool.c
index da7421c..fb6c26d 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -3738,7 +3738,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");