X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Floader%2Floader.c;h=17bf13360057f11a43ce903e00f66261507c38bb;hb=634f2002563b4fca68490c0a39518ea838f28fb1;hp=bdd39069149c950cdcd7e8fd8ba89ce6fa150463;hpb=291ae622fd723d5ee2e08bbb8256c51bb5bce008;p=mesa.git diff --git a/src/loader/loader.c b/src/loader/loader.c index bdd39069149..17bf1336005 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -64,6 +64,7 @@ * Rob Clark */ +#include #include #include #include @@ -80,7 +81,6 @@ #endif #endif #ifdef HAVE_SYSFS -#include #include #endif #include "loader.h" @@ -207,9 +207,12 @@ libudev_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id) } pci_id = udev_device_get_property_value(parent, "PCI_ID"); - if (pci_id == NULL || - sscanf(pci_id, "%x:%x", vendor_id, chip_id) != 2) { - log_(_LOADER_WARNING, "MESA-LOADER: malformed or no PCI ID\n"); + if (pci_id == NULL) { + log_(_LOADER_INFO, "MESA-LOADER: no PCI ID\n"); + *chip_id = -1; + goto out; + } else if (sscanf(pci_id, "%x:%x", vendor_id, chip_id) != 2) { + log_(_LOADER_WARNING, "MESA-LOADER: malformed PCI ID\n"); *chip_id = -1; goto out; } @@ -594,6 +597,9 @@ libudev_get_device_name_for_fd(int fd) (struct udev_device *)); UDEV_SYMBOL(struct udev *, udev_unref, (struct udev *)); + if (dlsym_failed) + return NULL; + udev = udev_new(); device = udev_device_new_from_fd(udev, fd); if (device == NULL)