--- linux-2.6.21.orig/drivers/video/pm2fb.c 2007-04-21 21:34:34.672917412 +0200 +++ linux-2.6.21/drivers/video/pm2fb.c 2007-04-22 19:42:29.715214265 +0200 @@ -302,10 +303,10 @@ static void pm2v_mnp(u32 clk, unsigned c s32 delta = 1000; *mm = *nn = *pp = 0; - for (n = 1; n; n++) { - for ( m = 1; m; m++) { + for ( m = 1; m < 128; m++) { + for (n = 2 * m + 1; n; n++) { for ( p = 0; p < 2; p++) { - f = PM2_REFERENCE_CLOCK * n / (m * (1 << (p + 1))); + f = ( PM2_REFERENCE_CLOCK >> ( p + 1 )) * n / m; if ( clk > f - delta && clk < f + delta ) { delta = ( clk > f ) ? clk - f : f - clk; *mm=m;