summaryrefslogtreecommitdiff
path: root/src/udev
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-09-15 13:36:34 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-10-06 16:39:52 +0900
commite44b0fbce78fdf44f0c632a8cc308be77062ef18 (patch)
tree27412b4c56352f8651c209d1452f7ea2bddfd2db /src/udev
parent78ae4d449eb44cf5ad72803087a7ad4aa0e338a2 (diff)
downloadsystemd-e44b0fbce78fdf44f0c632a8cc308be77062ef18.tar.gz
udev: use LinkInfo::iftype at one more place
Diffstat (limited to 'src/udev')
-rw-r--r--src/udev/udev-builtin-net_id.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
index bc174ad965..a3cbbe50d5 100644
--- a/src/udev/udev-builtin-net_id.c
+++ b/src/udev/udev-builtin-net_id.c
@@ -342,22 +342,16 @@ static int dev_pci_slot(sd_device *dev, const LinkInfo *info, NetNames *names) {
r = safe_atolu_full(attr, 10, &dev_port);
if (r < 0)
log_device_debug_errno(dev, r, "Failed to parse attribute dev_port, ignoring: %m");
+
/* With older kernels IP-over-InfiniBand network interfaces sometimes erroneously
* provide the port number in the 'dev_id' sysfs attribute instead of 'dev_port',
* which thus stays initialized as 0. */
if (dev_port == 0 &&
- sd_device_get_sysattr_value(dev, "type", &attr) >= 0) {
- unsigned long type;
-
- r = safe_atolu_full(attr, 10, &type);
+ info->iftype == ARPHRD_INFINIBAND &&
+ sd_device_get_sysattr_value(dev, "dev_id", &attr) >= 0) {
+ r = safe_atolu_full(attr, 10, &dev_port);
if (r < 0)
- log_device_debug_errno(dev, r, "Failed to parse attribute type, ignoring: %m");
- else if (type == ARPHRD_INFINIBAND &&
- sd_device_get_sysattr_value(dev, "dev_id", &attr) >= 0) {
- r = safe_atolu_full(attr, 10, &dev_port);
- if (r < 0)
- log_device_debug_errno(dev, r, "Failed to parse attribute dev_id, ignoring: %m");
- }
+ log_device_debug_errno(dev, r, "Failed to parse attribute dev_id, ignoring: %m");
}
}