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 <[EMAIL PROTECTED]> --- diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c index 2f1e5af..2e5f1b5 100644 --- a/drivers/video/uvesafb.c +++ b/drivers/video/uvesafb.c @@ -689,10 +689,13 @@ static void __devinit uvesafb_vbe_getmonspecs(struct uvesafb_ktask *task, /* * 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_getmonspecs(struct uvesafb_ktask *task, 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_getmonspecs(struct uvesafb_ktask *task, (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++) { - 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/