diff mbox series

[L,4/9] video/aperture: Only kick vgacon when the pdev is decoding vga

Message ID 20230726081947.3310004-5-kai.heng.feng@canonical.com
State New
Headers show
Series Make TTY switching possible for NVIDIA when it's boot VGA | expand

Commit Message

Kai-Heng Feng July 26, 2023, 8:19 a.m. UTC
From: Daniel Vetter <daniel.vetter@ffwll.ch>

BugLink: https://bugs.launchpad.net/bugs/2028749

Otherwise it's a bit silly, and we might throw out the driver for the
screen the user is actually looking at. I haven't found a bug report
for this case yet, but we did get bug reports for the analog case
where we're throwing out the efifb driver.

v2: Flip the check around to make it clear it's a special case for
kicking out the vgacon driver only (Thomas)

v4:
- fixes to commit message
- fix Daniel's S-o-b address

v5:
- add back an S-o-b tag with Daniel's Intel address

Link: https://bugzilla.kernel.org/show_bug.cgi?id=216303
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230406132109.32050-5-tzimmermann@suse.de
(cherry picked from commit 7450cd235b45d43ee6f3c235f89e92623458175d)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 drivers/video/aperture.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
index d0eccc4ed60b..26bdba6b2725 100644
--- a/drivers/video/aperture.c
+++ b/drivers/video/aperture.c
@@ -342,13 +342,15 @@  int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *na
 			return ret;
 	}
 
-	/*
-	 * WARNING: Apparently we must kick fbdev drivers before vgacon,
-	 * otherwise the vga fbdev driver falls over.
-	 */
-	ret = vga_remove_vgacon(pdev);
-	if (ret)
-		return ret;
+	if (primary) {
+		/*
+		 * WARNING: Apparently we must kick fbdev drivers before vgacon,
+		 * otherwise the vga fbdev driver falls over.
+		 */
+		ret = vga_remove_vgacon(pdev);
+		if (ret)
+			return ret;
+	}
 
 	return 0;