]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI/VGA: Don't assume the only VGA device on a system is `boot_vga`
authorMario Limonciello (AMD) <superm1@kernel.org>
Tue, 6 Jan 2026 04:46:38 +0000 (22:46 -0600)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 6 Jan 2026 07:15:26 +0000 (08:15 +0100)
Some systems ship with multiple display class devices but not all
of them are VGA devices. If the "only" VGA device on the system is not
used for displaying the image on the screen marking it as `boot_vga`
because nothing was found is totally wrong.

This behavior actually leads to mistakes of the wrong device being
advertised to userspace and then userspace can make incorrect decisions.

As there is an accurate `boot_display` sysfs file stop lying about
`boot_vga` by assuming if nothing is found it's the right device.

Reported-by: Aaron Erhardt <aer@tuxedocomputers.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220712
Tested-by: Aaron Erhardt <aer@tuxedocomputers.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: ad90860bd10ee ("fbcon: Use screen info to find primary device")
Tested-by: Luke D. Jones <luke@ljones.dev>
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20260106044638.52906-1-superm1@kernel.org
drivers/pci/vgaarb.c

index 436fa7f4c3873ba5c92bd1edbfd14e51d2ec1c6f..baa242b140993017faf0ce1b226973198f610772 100644 (file)
@@ -652,13 +652,6 @@ static bool vga_is_boot_device(struct vga_device *vgadev)
                return true;
        }
 
-       /*
-        * Vgadev has neither IO nor MEM enabled.  If we haven't found any
-        * other VGA devices, it is the best candidate so far.
-        */
-       if (!boot_vga)
-               return true;
-
        return false;
 }