aty128fb: test below 0 on unsigned pll->post_divider

pll->post_divider is unsigned, so the test fails

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Roel Kluin 2008-07-23 21:31:17 -07:00 коммит произвёл Linus Torvalds
Родитель fcea8030b3
Коммит 816664f887
1 изменённых файлов: 2 добавлений и 4 удалений

Просмотреть файл

@ -1339,10 +1339,8 @@ static int aty128_var_to_pll(u32 period_in_ps, struct aty128_pll *pll,
if (vclk * 12 < c.ppll_min)
vclk = c.ppll_min/12;
pll->post_divider = -1;
/* now, find an acceptable divider */
for (i = 0; i < sizeof(post_dividers); i++) {
for (i = 0; i < ARRAY_SIZE(post_dividers); i++) {
output_freq = post_dividers[i] * vclk;
if (output_freq >= c.ppll_min && output_freq <= c.ppll_max) {
pll->post_divider = post_dividers[i];
@ -1350,7 +1348,7 @@ static int aty128_var_to_pll(u32 period_in_ps, struct aty128_pll *pll,
}
}
if (pll->post_divider < 0)
if (i == ARRAY_SIZE(post_dividers))
return -EINVAL;
/* calculate feedback divider */