Skip to contentSkip to conversation

drivers/video/vesafb.c, kernel 2.6.0-test1

PATCH In review Roberto Sanchez 2 participants 2 messages Jul 20, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 drivers/video/vesafb.c, kernel 2.6.0-test1

This is a trivial patch I made against the 2.6.0-test1 kernel to fix the "vesafb: abort, cannot ioremap video memory 0x8000000 @ 0xe8000000" error on systems with 1 GB RAM or more trying to use the framebuffer.

The trivial fix was mentioned on this list in this message:
http://www.ussg.iu.edu/hypermail/linux/kernel/0303.3/1236.html

The thread for the above message started here:
http://www.ussg.iu.edu/hypermail/linux/kernel/0303.3/1098.html

-Roberto Sanchez

Here is the patch (it is only a change to one line):

--- linux-2.6.0-test1.orig/drivers/video/vesafb.c 2003-07-13
23:30:36.000000000 -0400
+++ linux/drivers/video/vesafb.c 2003-07-19 20:30:18.000000000 -0400
@@ -227,7 +227,7 @@

        vesafb_defined.xres = screen_info.lfb_width;
        vesafb_defined.yres = screen_info.lfb_height;
        vesafb_fix.line_length = screen_info.lfb_linelength;
-       vesafb_fix.smem_len = screen_info.lfb_size * 65536;
+       vesafb_fix.smem_len = screen_info.lfb_width * screen_info.lfb_height *
screen_info.lfb_depth;
        vesafb_fix.visual   = (vesafb_defined.bits_per_pixel == 8) ?
                FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;

___________________________________________________
Yahoo! Messenger - Nueva versión GRATIS
Super Webcam, voz, caritas animadas, y más...
http://messenger.yahoo.es

#1 lore raw

Review line 233

Quoted 12 lines · Roberto Sanchez

--- linux-2.6.0-test1.orig/drivers/video/vesafb.c 2003-07-13
23:30:36.000000000 -0400
+++ linux/drivers/video/vesafb.c 2003-07-19 20:30:18.000000000 -0400

(quoted diff) +1 -1
@@ -227,7 +227,7 @@
        vesafb_defined.xres = screen_info.lfb_width;
        vesafb_defined.yres = screen_info.lfb_height;
        vesafb_fix.line_length = screen_info.lfb_linelength;
-       vesafb_fix.smem_len = screen_info.lfb_size * 65536;
+       vesafb_fix.smem_len = screen_info.lfb_width * screen_info.lfb_height *
 screen_info.lfb_depth;
        vesafb_fix.visual   = (vesafb_defined.bits_per_pixel == 8) ?
                FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;

This will make some systems crash on boot.

width * height * depth is in bits. You tben need to chop that down to bytes and maybe allow room for the scroll buffer, but only if its still under the size of the entire frame buffer.

See the final 2.4 changes