> (gdb) #################################### > (gdb) # c0228ec3, stack size: 764 bytes # > (gdb) #################################### > (gdb) 0xc0228ec3 is in calc_mode_timings (drivers/video/fbmon.c:317).
fix below. Ingo -- quick hack to remove a 764 bytes stack footprint from fbmon.c. Codepath is most likely serialized but with the semaphore it's for sure. Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]> Index: linux/drivers/video/fbmon.c =================================================================== --- linux.orig/drivers/video/fbmon.c +++ linux/drivers/video/fbmon.c @@ -315,9 +315,11 @@ static int edid_is_monitor_block(unsigne static void calc_mode_timings(int xres, int yres, int refresh, struct fb_videomode *mode) { - struct fb_var_screeninfo var; - struct fb_info info; - + static struct fb_var_screeninfo var; + static struct fb_info info; + static DECLARE_MUTEX(fb_lock); + + down(&fb_lock); var.xres = xres; var.yres = yres; fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, @@ -334,6 +336,7 @@ static void calc_mode_timings(int xres, mode->vsync_len = var.vsync_len; mode->vmode = 0; mode->sync = 0; + up(&fb_lock); } static int get_est_timing(unsigned char *block, struct fb_videomode *mode) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/