diff -Naru ac1/drivers/video/vesafb.c tmb1/drivers/video/vesafb.c --- ac1/drivers/video/vesafb.c 2003-06-01 18:29:51.000000000 +0300 +++ tmb1/drivers/video/vesafb.c 2003-06-01 18:50:18.000000000 +0300 @@ -525,12 +525,18 @@ video_width = screen_info.lfb_width; video_height = screen_info.lfb_height; video_linelength = screen_info.lfb_linelength; - video_size = screen_info.lfb_width * screen_info.lfb_height * video_bpp / 8; + + /* remap memory according to videomode, multiply by 2 to get space for doublebuffering */ + video_size = screen_info.lfb_width * screen_info.lfb_height * video_bpp / 8 * 2; + + /* check that we don't remap more memory than old cards have */ + if video_size > (screen_info.lfb_size * 65536) + video_size = screen_info.lfb_size * 65536; /* FIXME: Should we clip against declared size for banked devices ? */ /* sets video_size according to vram boot option */ - if (vram && vram * 1024 * 1024 > video_size) + if (vram && vram * 1024 * 1024 != video_size) video_size = vram * 1024 * 1024; video_visual = (video_bpp == 8) ?