|
Jiri Slaby |
a99b38 |
From: Stephen Hemminger <stephen@networkplumber.org>
|
|
Jiri Slaby |
a99b38 |
Date: Fri, 29 Dec 2017 10:02:52 -0800
|
|
Jiri Slaby |
a99b38 |
Subject: ethtool: do not print warning for applications using legacy API
|
|
Jiri Slaby |
a99b38 |
Git-commit: 71891e2dab6b55a870f8f7735e44a2963860b5c6
|
|
Jiri Slaby |
a99b38 |
Patch-mainline: v4.15-rc8
|
|
Jiri Slaby |
a99b38 |
References: networking-stable-18_01_12
|
|
Jiri Slaby |
a99b38 |
|
|
Jiri Slaby |
a99b38 |
In kernel log ths message appears on every boot:
|
|
Jiri Slaby |
a99b38 |
"warning: `NetworkChangeNo' uses legacy ethtool link settings API,
|
|
Jiri Slaby |
a99b38 |
link modes are only partially reported"
|
|
Jiri Slaby |
a99b38 |
|
|
Jiri Slaby |
a99b38 |
When ethtool link settings API changed, it started complaining about
|
|
Jiri Slaby |
a99b38 |
usages of old API. Ironically, the original patch was from google but
|
|
Jiri Slaby |
a99b38 |
the application using the legacy API is chrome.
|
|
Jiri Slaby |
a99b38 |
|
|
Jiri Slaby |
a99b38 |
Linux ABI is fixed as much as possible. The kernel must not break it
|
|
Jiri Slaby |
a99b38 |
and should not complain about applications using legacy API's.
|
|
Jiri Slaby |
a99b38 |
This patch just removes the warning since using legacy API's
|
|
Jiri Slaby |
a99b38 |
in Linux is perfectly acceptable.
|
|
Jiri Slaby |
a99b38 |
|
|
Jiri Slaby |
a99b38 |
Fixes: 3f1ac7a700d0 ("net: ethtool: add new ETHTOOL_xLINKSETTINGS API")
|
|
Jiri Slaby |
a99b38 |
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
|
|
Jiri Slaby |
a99b38 |
Signed-off-by: David Decotigny <decot@googlers.com>
|
|
Jiri Slaby |
a99b38 |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Jiri Slaby |
a99b38 |
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
|
|
Jiri Slaby |
a99b38 |
---
|
|
Jiri Slaby |
a99b38 |
net/core/ethtool.c | 15 ++-------------
|
|
Jiri Slaby |
a99b38 |
1 file changed, 2 insertions(+), 13 deletions(-)
|
|
Jiri Slaby |
a99b38 |
|
|
Jiri Slaby |
a99b38 |
--- a/net/core/ethtool.c
|
|
Jiri Slaby |
a99b38 |
+++ b/net/core/ethtool.c
|
|
Jiri Slaby |
a99b38 |
@@ -754,15 +754,6 @@ static int ethtool_set_link_ksettings(st
|
|
Jiri Slaby |
a99b38 |
return dev->ethtool_ops->set_link_ksettings(dev, &link_ksettings);
|
|
Jiri Slaby |
a99b38 |
}
|
|
Jiri Slaby |
a99b38 |
|
|
Jiri Slaby |
a99b38 |
-static void
|
|
Jiri Slaby |
a99b38 |
-warn_incomplete_ethtool_legacy_settings_conversion(const char *details)
|
|
Jiri Slaby |
a99b38 |
-{
|
|
Jiri Slaby |
a99b38 |
- char name[sizeof(current->comm)];
|
|
Jiri Slaby |
a99b38 |
-
|
|
Jiri Slaby |
a99b38 |
- pr_info_once("warning: `%s' uses legacy ethtool link settings API, %s\n",
|
|
Jiri Slaby |
a99b38 |
- get_task_comm(name, current), details);
|
|
Jiri Slaby |
a99b38 |
-}
|
|
Jiri Slaby |
a99b38 |
-
|
|
Jiri Slaby |
a99b38 |
/* Query device for its ethtool_cmd settings.
|
|
Jiri Slaby |
a99b38 |
*
|
|
Jiri Slaby |
a99b38 |
* Backward compatibility note: for compatibility with legacy ethtool,
|
|
Jiri Slaby |
a99b38 |
@@ -789,10 +780,8 @@ static int ethtool_get_settings(struct n
|
|
Jiri Slaby |
a99b38 |
&link_ksettings);
|
|
Jiri Slaby |
a99b38 |
if (err < 0)
|
|
Jiri Slaby |
a99b38 |
return err;
|
|
Jiri Slaby |
a99b38 |
- if (!convert_link_ksettings_to_legacy_settings(&cmd,
|
|
Jiri Slaby |
a99b38 |
- &link_ksettings))
|
|
Jiri Slaby |
a99b38 |
- warn_incomplete_ethtool_legacy_settings_conversion(
|
|
Jiri Slaby |
a99b38 |
- "link modes are only partially reported");
|
|
Jiri Slaby |
a99b38 |
+ convert_link_ksettings_to_legacy_settings(&cmd,
|
|
Jiri Slaby |
a99b38 |
+ &link_ksettings);
|
|
Jiri Slaby |
a99b38 |
|
|
Jiri Slaby |
a99b38 |
/* send a sensible cmd tag back to user */
|
|
Jiri Slaby |
a99b38 |
cmd.cmd = ETHTOOL_GSET;
|