--- linux-2.5.orig/drivers/video/console/fbcon.c 2003-01-17 16:13:53.000000000 +0100 +++ linux/drivers/video/console/fbcon.c 2003-01-19 19:17:23.000000000 +0100 @@ -1876,17 +1876,23 @@ struct display *p = &fb_display[vc->vc_num]; struct fb_info *info = p->fb_info; struct fb_var_screeninfo var = info->var; - int err; + int err; int x_diff, y_diff; var.xres = width * vc->vc_font.width; var.yres = height * vc->vc_font.height; var.activate = FB_ACTIVATE_NOW; - + x_diff = info->var.xres - var.xres; + y_diff = info->var.yres - var.yres; + if(x_diff < 0 || x_diff > vc->vc_font.width || + (y_diff < 0 || y_diff > vc->vc_font.height)) { + DPRINTK("resize now %ix%i\n", var.xres, var.yres); err = fb_set_var(&var, info); return (err || var.xres != info->var.xres || - var.yres != info->var.yres) ? - -EINVAL : 0; - + var.yres != info->var.yres) ? -EINVAL : 0; + } else { + DPRINTK("prevent resize\n"); + return 0; + } } static int fbcon_switch(struct vc_data *vc)