From: Michal Januszewski Use the default refresh rate if the monitor limits aren't set (either using data from the EDID block, or explicitly by the user). Signed-off-by: Michal Januszewski Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton --- drivers/video/uvesafb.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff -puN drivers/video/uvesafb.c~uvesafb-the-driver-core-uvesafb-use-the-default-refresh-rate-if-the-monitor-limits-are-not-set drivers/video/uvesafb.c --- a/drivers/video/uvesafb.c~uvesafb-the-driver-core-uvesafb-use-the-default-refresh-rate-if-the-monitor-limits-are-not-set +++ a/drivers/video/uvesafb.c @@ -689,10 +689,13 @@ static void __devinit uvesafb_vbe_getmon /* * If we don't get all necessary data from the EDID block, - * mark it as incompatible with the GTF. + * mark it as incompatible with the GTF and set nocrtc so + * that we always use the default BIOS refresh rate. */ - if (uvesafb_vbe_getedid(task, info)) + if (uvesafb_vbe_getedid(task, info)) { info->monspecs.gtf = 0; + par->nocrtc = 1; + } /* Kernel command line overrides. */ if (maxclk) @@ -711,6 +714,7 @@ static void __devinit uvesafb_vbe_getmon info->monspecs.vfmin = 60; info->monspecs.hfmin = 29000; info->monspecs.gtf = 1; + par->nocrtc = 0; } if (info->monspecs.gtf) @@ -720,7 +724,8 @@ static void __devinit uvesafb_vbe_getmon (int)(info->monspecs.hfmax / 1000), (int)(info->monspecs.dclkmax / 1000000)); else - printk(KERN_INFO "uvesafb: no monitor limits have been set\n"); + printk(KERN_INFO "uvesafb: no monitor limits have been set, " + "default refresh rate will be used\n"); /* Add VBE modes to the modelist. */ for (i = 0; i < par->vbe_modes_cnt; i++) { _