]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode
authorSteffen Persvold <spersvold@gmail.com>
Fri, 12 Jun 2026 16:40:41 +0000 (18:40 +0200)
committerHelge Deller <deller@gmx.de>
Fri, 12 Jun 2026 21:23:43 +0000 (23:23 +0200)
The 1920x1080@60 modedb entry has one too many initializers before
its sync field: a stray "0" occupies the sync slot, which shifts the
remaining values by one field. The entry therefore decodes as
sync = 0, vmode = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT (0x3,
i.e. FB_VMODE_INTERLACED | FB_VMODE_DOUBLE), and flag =
FB_VMODE_NONINTERLACED, instead of the intended sync = positive H/V,
vmode = non-interlaced.

fb_find_mode() then returns a 1920x1080 mode flagged as interlaced +
doublescan with active-low syncs. Drivers that honour var->vmode and
var->sync when programming display timing enable doublescan and the
wrong sync polarity, corrupting the output.

Drop the stray initializer so sync and vmode hold their intended
values (positive H/V sync, non-interlaced), matching the adjacent
1920x1200 entry.

Fixes: c8902258b2b8 ("fbdev: modedb: Add 1920x1080 at 60 Hz video mode")
Cc: stable@vger.kernel.org
Signed-off-by: Steffen Persvold <spersvold@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/core/modedb.c

index b6926764a99cd426dc0b73261975fb86ee31712f..e1fd9298a702c364616ffe65ec85a29cc494cf3a 100644 (file)
@@ -259,7 +259,7 @@ static const struct fb_videomode modedb[] = {
                FB_VMODE_DOUBLE },
 
        /* 1920x1080 @ 60 Hz, 67.3 kHz hsync */
-       { NULL, 60, 1920, 1080, 6734, 148, 88, 36, 4, 44, 5, 0,
+       { NULL, 60, 1920, 1080, 6734, 148, 88, 36, 4, 44, 5,
                FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
                FB_VMODE_NONINTERLACED },