While we want to report transceiver value in "ethtool <dev>" output, we
must not return nonzero value provided in ETHTOOL_GLINKSETTINGS reply back
to kernel in ETHTOOL_SLINKSETTINGS request.

Fixes: 8bb9a04002a3 ("ethtool.c: Report transceiver correctly")
Reported-by: Ali MJ Al-Nasrawy <alimjalnasr...@gmail.com>
Signed-off-by: Michal Kubecek <mkube...@suse.cz>
---
 ethtool.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ethtool.c b/ethtool.c
index d37c223dcc04..1b99ac91dcbf 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -2906,6 +2906,8 @@ static int do_sset(struct cmd_context *ctx)
                struct ethtool_link_usettings *link_usettings;
 
                link_usettings = do_ioctl_glinksettings(ctx);
+               memset(&link_usettings->deprecated, 0,
+                      sizeof(link_usettings->deprecated));
                if (link_usettings == NULL)
                        link_usettings = do_ioctl_gset(ctx);
                if (link_usettings == NULL) {
-- 
2.27.0

Reply via email to