xserver/hw/xfree86
Tj 728b54528d xfree86: fbdevhw: fix pci detection on recent Linux
Linux kernel v6.9 has changed the symlink to point to the parent device. This
breaks fbdev_open() detection logic. Change it to use the subsystem symlink
instead which will remain stable.

Kernel v6.8:

[    14.067] (II) fbdev_open() sysfs_path=/sys/class/graphics/fb0
[    14.067] (II) fbdev_open() buf=../../devices/platform/vesa-framebuffer.0/graphics/fb0

Kernel v6.9:

[    15.609] (II) fbdev_open() sysfs_path=/sys/class/graphics/fb0
[    15.609] (II) fbdev_open() buf=../../devices/pci0000:00/0000:00:01.0/vesa-framebuffer.0/graphics/fb0

Originally found in automated Debian ISO QA testing [0] and confirmed in Linux [1].

Tested on kernels v6.9.7 and v6.8.12

[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1075713
[1] https://lore.kernel.org/lkml/lLyvPFC_APGHNfyGNHRpQy5izBikkaTPOpHooZIT3fFAoJPquSI31ZMueA99XTdr8ysir3X7O7IMdc6za-0m79vr_claeparHhoRouVgHOI=@proton.me/

Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1714
Signed-off-by: Tj <tj.iam.tj@proton.me>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1612>
2024-10-10 21:32:46 +00:00
..
common xfre86: drop xf86Msg() in favor of LogMessageVerb() 2024-10-10 21:16:26 +00:00
ddc treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
dixmods Remove autotools support 2021-10-27 13:15:40 +03:00
doc treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
dri xfree86: dri: unexport DRIDestroyWindow() and make it static 2024-10-10 20:42:23 +00:00
dri2 dix: unexport some lookup functions 2024-04-15 18:11:57 -07:00
drivers xfree86: modesetting: merge FreeRec() into FreeScreen() 2024-10-10 15:47:51 +00:00
exa treewide: replace xnfalloc() calls to XNFalloc() 2024-07-26 23:41:33 +00:00
fbdevhw xfree86: fbdevhw: fix pci detection on recent Linux 2024-10-10 21:32:46 +00:00
glamor_egl drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
i2c treewide: replace xnfreallocarray macro call by XNFreallocarray() 2024-07-26 23:41:33 +00:00
int10 treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
loader os: replace LogWrite() by LogMessageVerb() 2024-10-10 17:34:12 +00:00
man xorg.conf.man: Add missing new paragraph mark before AllowByteSwappedClients 2024-03-23 14:30:43 -07:00
modes include: move private definitions out of input.h 2024-09-01 17:59:23 +00:00
os-support xfree86: os-support: move including machine/sysarch.h out of public header 2024-10-10 15:12:22 +00:00
parser xfree86: parser: scan: fix char signess mismatch 2024-10-10 13:56:05 +00:00
ramdac dix: unexport cursor refcounting functions 2024-09-02 16:43:29 +00:00
shadowfb Remove autotools support 2021-10-27 13:15:40 +03:00
utils Remove autotools support 2021-10-27 13:15:40 +03:00
vgahw treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
x86emu xfree86: x86emu: rename segment register fields 2024-06-18 00:41:38 +00:00
xkb dix: unexport non-public functions from dixgrabs.h and document prototypes 2024-10-10 13:50:57 +00:00
.gitignore Xorg: Add Xorg.wrap to hw/xfree86/.gitignore 2014-04-18 11:39:16 +02:00
Xorg.sh.in xfree86: rename Xorg.bin to Xorg 2015-01-05 09:53:58 +10:00
meson.build meson: Support building Xnest and Xorg on darwin 2022-06-26 09:16:42 +00:00
sdksyms.sh dix: unexport non-public functions from dixgrabs.h and document prototypes 2024-10-10 13:50:57 +00:00
xorg-wrapper.c Fix various spelling errors 2019-10-01 17:05:28 +00:00
xorgconf.cpp Fix spelling/wording issues 2020-07-05 13:07:33 -07:00