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 <ec...@solarflare.com> --- 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");