summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSusant Sahani <susant@redhat.com>2017-06-26 17:35:52 +0200
committerSusant Sahani <susant@redhat.com>2017-06-26 17:35:52 +0200
commitbb79318e2150385ab91513cf151f01729762fb1d (patch)
tree15908ad7f4fa82ce620884073330bf8ec84ace97
parentethtool: Fix speed in 593022fa377d40d9a645919759b04c53cf4eace8 (diff)
downloadsystemd-bb79318e2150385ab91513cf151f01729762fb1d.tar.xz
systemd-bb79318e2150385ab91513cf151f01729762fb1d.zip
ethtool: warn when ethtool_set_glinksettings not supported
This is useful when port is not set and should be notified to user.
Diffstat (limited to '')
-rw-r--r--src/udev/net/link-config.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
index e65a8794dc..05a186357c 100644
--- a/src/udev/net/link-config.c
+++ b/src/udev/net/link-config.c
@@ -378,18 +378,19 @@ int link_config_apply(link_config_ctx *ctx, link_config *config,
if (!old_name)
return -EINVAL;
-
- speed = DIV_ROUND_UP(config->speed, 1000000);
-
r = ethtool_set_glinksettings(&ctx->ethtool_fd, old_name, config);
if (r < 0) {
+ if (config->port != _NET_DEV_PORT_INVALID)
+ log_warning_errno(r, "Could not set port (%s) of %s: %m", port_to_string(config->port), old_name);
+
+ speed = DIV_ROUND_UP(config->speed, 1000000);
if (r == -EOPNOTSUPP)
r = ethtool_set_speed(&ctx->ethtool_fd, old_name, speed, config->duplex);
if (r < 0)
- log_warning_errno(r, "Could not set speed, duplex or port (%s) of %s to %u Mbps (%s): %m",
- port_to_string(config->port), old_name, speed, duplex_to_string(config->duplex));
+ log_warning_errno(r, "Could not set speed or duplex of %s to %u Mbps (%s): %m",
+ old_name, speed, duplex_to_string(config->duplex));
}
r = ethtool_set_wol(&ctx->ethtool_fd, old_name, config->wol);