gbefb: unsigned var->pixclock cannot be less than 0
authorroel kluin <roel.kluin@gmail.com>
Tue, 6 Jan 2009 22:42:31 +0000 (14:42 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 6 Jan 2009 23:59:26 +0000 (15:59 -0800)
unsigned var->pixclock cannot be less than 0

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/gbefb.c

index f89c3cce1e0c3b1111e9f03c199090ced7434a33..fe5b519860b1baa71d91f1f0c38c0887e29286df 100644 (file)
@@ -912,6 +912,7 @@ static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
 {
        unsigned int line_length;
        struct gbe_timing_info timing;
+       int ret;
 
        /* Limit bpp to 8, 16, and 32 */
        if (var->bits_per_pixel <= 8)
@@ -930,8 +931,10 @@ static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
 
        var->grayscale = 0;     /* No grayscale for now */
 
-       if ((var->pixclock = compute_gbe_timing(var, &timing)) < 0)
-               return(-EINVAL);
+       ret = compute_gbe_timing(var, &timing);
+       var->pixclock = ret;
+       if (ret < 0)
+               return -EINVAL;
 
        /* Adjust virtual resolution, if necessary */
        if (var->xres > var->xres_virtual || (!ywrap && !ypan))