VIDEO: Newport Fix console crashes
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>
Mon, 30 Jul 2012 10:54:16 +0000 (12:54 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 13 Dec 2012 17:15:29 +0000 (18:15 +0100)
Because of commit e84de0c61905030a0fe66b7210b6f1bb7c3e1eab [MIPS: GIO bus
support for SGI IP22/28] newport con is now taking over console from
dummy con, therefore it's necessary to resize the VC to the correct size
to avoid crashes and garbage on console

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: linux-mips@linux-mips.org
Cc: linux-fbdev@vger.kernel.org
Cc: FlorianSchandinat@gmx.de
Patchwork: https://patchwork.linux-mips.org/patch/4138/
Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/video/console/newport_con.c

index 6d15966..b05afd0 100644 (file)
@@ -327,9 +327,16 @@ out_unmap:
 
 static void newport_init(struct vc_data *vc, int init)
 {
-       vc->vc_cols = newport_xsize / 8;
-       vc->vc_rows = newport_ysize / 16;
+       int cols, rows;
+
+       cols = newport_xsize / 8;
+       rows = newport_ysize / 16;
        vc->vc_can_do_color = 1;
+       if (init) {
+               vc->vc_cols = cols;
+               vc->vc_rows = rows;
+       } else
+               vc_resize(vc, cols, rows);
 }
 
 static void newport_deinit(struct vc_data *c)