network: don't pass NULL to udev_device_get_driver()
This commit is contained in:
parent
a06c8219a3
commit
af3aa30274
|
@ -272,9 +272,24 @@ int network_get(Manager *manager, struct udev_device *device,
|
||||||
const char *ifname, const struct ether_addr *address,
|
const char *ifname, const struct ether_addr *address,
|
||||||
Network **ret) {
|
Network **ret) {
|
||||||
Network *network;
|
Network *network;
|
||||||
|
struct udev_device *parent;
|
||||||
|
const char *path, *parent_driver, *driver, *devtype;
|
||||||
|
|
||||||
assert(manager);
|
assert(manager);
|
||||||
assert(ret);
|
assert(ret);
|
||||||
|
assert(device);
|
||||||
|
|
||||||
|
path = udev_device_get_property_value(device, "ID_PATH");
|
||||||
|
|
||||||
|
parent = udev_device_get_parent(device);
|
||||||
|
if (parent)
|
||||||
|
parent_driver = udev_device_get_driver(parent);
|
||||||
|
else
|
||||||
|
parent_driver = NULL;
|
||||||
|
|
||||||
|
driver = udev_device_get_property_value(device, "ID_NET_DRIVER");
|
||||||
|
|
||||||
|
devtype = udev_device_get_devtype(device);
|
||||||
|
|
||||||
LIST_FOREACH(networks, network, manager->networks) {
|
LIST_FOREACH(networks, network, manager->networks) {
|
||||||
if (net_match_config(network->match_mac, network->match_path,
|
if (net_match_config(network->match_mac, network->match_path,
|
||||||
|
@ -282,12 +297,8 @@ int network_get(Manager *manager, struct udev_device *device,
|
||||||
network->match_name, network->match_host,
|
network->match_name, network->match_host,
|
||||||
network->match_virt, network->match_kernel,
|
network->match_virt, network->match_kernel,
|
||||||
network->match_arch,
|
network->match_arch,
|
||||||
address,
|
address, path, parent_driver, driver,
|
||||||
udev_device_get_property_value(device, "ID_PATH"),
|
devtype, ifname)) {
|
||||||
udev_device_get_driver(udev_device_get_parent(device)),
|
|
||||||
udev_device_get_property_value(device, "ID_NET_DRIVER"),
|
|
||||||
udev_device_get_devtype(device),
|
|
||||||
ifname)) {
|
|
||||||
if (network->match_name) {
|
if (network->match_name) {
|
||||||
const char *attr;
|
const char *attr;
|
||||||
uint8_t name_assign_type = NET_NAME_UNKNOWN;
|
uint8_t name_assign_type = NET_NAME_UNKNOWN;
|
||||||
|
|
Loading…
Reference in New Issue