udev: use LinkInfo::iftype at one more place
This commit is contained in:
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user