]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Jan 2026 15:35:26 +0000 (16:35 +0100)
[ Upstream commit fd390ff144513eb0310c350b1cf5fa8d6ddd0c53 ]

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
Signed-off-by: Sasha Levin <sashal@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;
 }