lkml.org 
[lkml]   [2002]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.5.22: FB_VESA - early crash in fbcon_cursor()
Hi Martin,

On Tue, Jun 18, 2002 at 12:31:29PM +0200, Martin Diehl wrote:
> no luck here getting 2.5.22 to boot on my ob800 with vesafb enabled.
> Same with 2.5.21. Last one working was 2.5.16 but I haven't tried 17-20.
> Box oopses due to NULL-pointer dereference during inital fbdev setup.
>
> config, dmesg + decoded dump from serial console below.
>
<snip>

> Code: 8b 40 18 85 c0 74 4a 66 8b 7f 2c 89 ea 66 89 bb e4 00 00 00
> Error (Oops_bfd_perror): set_section_contents Bad value
>
> >>EIP; c0192baf <fbcon_cursor+6f/200> <=====
> Trace; c0177281 <hide_cursor+81/90>
> Trace; c017a79c <vt_console_print+8c/310>
<snip>

Looks like the dispsw isn't being set and you're running into the NULL
dereference in fbcon_cursor() upon trying to dereference it.. it looks like
fbgen.c is the culprit here, as it never sets display->dispsw if we aren't in
24-bpp or have FBCON_HAS_ACCEL set..

James, what's the point of th FBCON_HAS_ACCEL ifdef? It looks like all the
accel wrapper code does is provide a wrapper to the fillrect, imageblit, and
copyarea routines -- if the driver doesn't have accelerated ones to provide
for itself, it just uses the cfb_fillrect/imageblit/copyarea as a fallback,
thus it should _always_ be safe to call them.

If that's not the case, we'll have to re-introduce the FBON_CAS_CFBx
brain-damage in gen_set_disp() to keep dispsw happy.

Regards,

--
Paul Mundt <lethal@chaoticdreams.org>

--- linux-fbdev-2.5/drivers/video/fbgen.c Tue Jun 18 11:37:46 2002
+++ linux-fbdev-2.5/drivers/video/fbgen.c Tue Jun 18 11:37:59 2002
@@ -452,10 +452,9 @@
#endif
}

-#ifdef FBCON_HAS_ACCEL
display->scrollmode = SCROLL_YNOMOVE;
display->dispsw = &fbcon_accel;
-#endif
+
return;
}
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 13:26    [W:0.066 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site