matroxfb console oops in 2.4.2x

From: David Woodhouse (dwmw2@infradead.org)
Date: Thu Jun 19 2003 - 05:06:28 EST


If you have matroxfb with acceleration enabled but no other console, and
set console=tty0 on the command line, it dies because its putcs
functions are called before matroxfb_init_putc() is called.

Below is a workaround which lets the machine boot. It's obviously not a
fix.

--- drivers/video/matrox/matroxfb_accel.c~ Wed Jun 18 17:16:40 2003
+++ drivers/video/matrox/matroxfb_accel.c Thu Jun 19 10:57:54 2003
@@ -487,6 +487,9 @@
 
         DBG_HEAVY("matroxfb_cfb8_putc");
 
+ if (!ACCESS_FBINFO(curr.putc))
+ return;
+
         fgx = attr_fgcol(p, c);
         bgx = attr_bgcol(p, c);
         fgx |= (fgx << 8);
@@ -504,6 +507,9 @@
 
         DBG_HEAVY("matroxfb_cfb16_putc");
 
+ if (!ACCESS_FBINFO(curr.putc))
+ return;
+
         fgx = ((u_int16_t*)p->dispsw_data)[attr_fgcol(p, c)];
         bgx = ((u_int16_t*)p->dispsw_data)[attr_bgcol(p, c)];
         fgx |= (fgx << 16);
@@ -519,6 +525,9 @@
 
         DBG_HEAVY("matroxfb_cfb32_putc");
 
+ if (!ACCESS_FBINFO(curr.putc))
+ return;
+
         fgx = ((u_int32_t*)p->dispsw_data)[attr_fgcol(p, c)];
         bgx = ((u_int32_t*)p->dispsw_data)[attr_bgcol(p, c)];
         ACCESS_FBINFO(curr.putc)(fgx, bgx, p, c, yy, xx);
@@ -662,6 +671,9 @@
 
         DBG_HEAVY("matroxfb_cfb8_putcs");
 
+ if (!ACCESS_FBINFO(curr.putcs))
+ return;
+
         c = scr_readw(s);
         fgx = attr_fgcol(p, c);
         bgx = attr_bgcol(p, c);
@@ -681,6 +693,9 @@
 
         DBG_HEAVY("matroxfb_cfb16_putcs");
 
+ if (!ACCESS_FBINFO(curr.putcs))
+ return;
+
         c = scr_readw(s);
         fgx = ((u_int16_t*)p->dispsw_data)[attr_fgcol(p, c)];
         bgx = ((u_int16_t*)p->dispsw_data)[attr_bgcol(p, c)];
@@ -697,6 +712,9 @@
         MINFO_FROM_DISP(p);
 
         DBG_HEAVY("matroxfb_cfb32_putcs");
+
+ if (!ACCESS_FBINFO(curr.putcs))
+ return;
 
         c = scr_readw(s);
         fgx = ((u_int32_t*)p->dispsw_data)[attr_fgcol(p, c)];

-- 
dwmw2

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jun 23 2003 - 22:00:29 EST