X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-network%2Fdhcp-identifier.c;h=419a450436e21d016484ddb3ea5d6a1a57767db8;hb=403193f54b6ff0d3e822d56d7144cf996a596146;hp=5386dca9e2d4957087b84e354bb0299f71d9e800;hpb=cfb5b3805759e63dc5e0cae6e92e1df885b5c5b6;p=elogind.git diff --git a/src/libsystemd-network/dhcp-identifier.c b/src/libsystemd-network/dhcp-identifier.c index 5386dca9e..419a45043 100644 --- a/src/libsystemd-network/dhcp-identifier.c +++ b/src/libsystemd-network/dhcp-identifier.c @@ -78,20 +78,19 @@ int dhcp_identifier_set_iaid(int ifindex, uint8_t *mac, size_t mac_len, uint32_t sprintf(ifindex_str, "n%d", ifindex); device = udev_device_new_from_device_id(udev, ifindex_str); - if (!device) - return -errno; + if (device) { + if (udev_device_get_is_initialized(device) <= 0) + /* not yet ready */ + return -EBUSY; - if (udev_device_get_is_initialized(device) <= 0) - /* not yet ready */ - return -EBUSY; - - name = net_get_name(device); + name = net_get_name(device); + } } if (name) siphash24((uint8_t*)&id, name, strlen(name), HASH_KEY.bytes); else - /* fall back to mac address if no predictable name available */ + /* fall back to MAC address if no predictable name available */ siphash24((uint8_t*)&id, mac, mac_len, HASH_KEY.bytes); /* fold into 32 bits */