xserver/config
Reza Arbab c0dcadad6c linux: Fix udev ID_PATH parsing for udl devices
The ID_PATH for a udl device looks like this:

  $ udevadm info /dev/dri/card2 | grep -w ID_PATH
  E: ID_PATH=pci-0000:00:14.0-usb-0:9.1:1.0

The parsing added in 0816e8fca6 ("linux: Make platform device probe
less fragile"), sets OdevAttributes::busid to "pci:0000:00:14.0", where
drmGetBusid() would have returned "3-9.1:1.0".

Identifying this as a "pci:*" device eventually causes the vendor/device
id check in probeSingleDevice() to fail, because a USB controller isn't
a supported device:

  $ udevadm info --path=/devices/pci0000:00/0000:00:14.0 | grep -e VENDOR -e ID_PCI_CLASS
  E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
  E: ID_VENDOR_FROM_DATABASE=Intel Corporation

Instead of parsing out "pci:0000:00:14.0" in this case, use
"usb:0:9.1:1.0" so the device probe will succeed.

Fixes: 0816e8fca6 ("linux: Make platform device probe less fragile")
Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
2020-11-25 04:39:14 +00:00
..
10-quirks.conf
Makefile.am
config-backends.h
config.c ddx: add new call to purge input devices that weren't added 2016-10-26 15:35:07 +10:00
dbus-api
dbus-core.c config/dbus: Initialize dbus fd to -1 so teardown doesn't use fd 0 2016-09-15 21:30:38 -07:00
fdi2iclass.py
hal.c
meson.build meson: Fix install path for 10-quirks.conf 2018-03-27 10:28:33 -04:00
udev.c linux: Fix udev ID_PATH parsing for udl devices 2020-11-25 04:39:14 +00:00
wscons.c
x11-input.fdi