aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorZsolt Kajtar <soci@c64.rulez.org>2025-01-18 11:38:56 +0100
committerHelge Deller <deller@gmx.de>2025-01-19 22:33:52 +0100
commitc542a56aad1f88b88713293c128952feb1945301 (patch)
treeceaf11f226d7b69ba8fd8a7e298e586c9682620b
parentfbdev: omapfb: Use syscon_regmap_lookup_by_phandle_args (diff)
downloadwireguard-linux-c542a56aad1f88b88713293c128952feb1945301.tar.xz
wireguard-linux-c542a56aad1f88b88713293c128952feb1945301.zip
fbdev: vga16fb: fix orig_video_isVGA confusion
At some point the orig_video_isVGA field of screen_info was repurposed for video type. Using it directly for video type check is unsafe as it can still mean yes (1) or no-output (0) in certain configurations. I had one of those. Signed-off-by: Zsolt Kajtar <soci@c64.rulez.org> Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r--drivers/video/fbdev/vga16fb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/video/fbdev/vga16fb.c b/drivers/video/fbdev/vga16fb.c
index fce0f5db7ba3..eedab14c7d51 100644
--- a/drivers/video/fbdev/vga16fb.c
+++ b/drivers/video/fbdev/vga16fb.c
@@ -185,9 +185,10 @@ static inline void setindex(int index)
/* Check if the video mode is supported by the driver */
static inline int check_mode_supported(const struct screen_info *si)
{
+ unsigned int type = screen_info_video_type(si);
+
/* only EGA and VGA in 16 color graphic mode are supported */
- if (si->orig_video_isVGA != VIDEO_TYPE_EGAC &&
- si->orig_video_isVGA != VIDEO_TYPE_VGAC)
+ if (type != VIDEO_TYPE_EGAC && type != VIDEO_TYPE_VGAC)
return -ENODEV;
if (si->orig_video_mode != 0x0D && /* 320x200/4 (EGA) */
@@ -1338,7 +1339,7 @@ static int vga16fb_probe(struct platform_device *dev)
printk(KERN_INFO "vga16fb: mapped to 0x%p\n", info->screen_base);
par = info->par;
- par->isVGA = si->orig_video_isVGA == VIDEO_TYPE_VGAC;
+ par->isVGA = screen_info_video_type(si) == VIDEO_TYPE_VGAC;
par->palette_blanked = 0;
par->vesa_blanked = 0;