Skip to contentSkip to conversation

gbefb: unsigned var->pixclock cannot be less than 0

PATCH New roel kluin 1 participant 1 message Nov 26, 2008 Framebuffer layer

lore
Share & tools
lore

roel kluin

author
#0 lore raw

PATCH 1/1 gbefb: unsigned var->pixclock cannot be less than 0

unsigned var->pixclock cannot be less than 0

---
var->pixclock has type __u32, see
vi include/linux/fb.h +231

compute_gbe_timing() returns int, see
vi drivers/video/gbefb.c +466

drivers/video/gbefb.c +5 -2
index f89c3cc..fe5b519 100644
@@ -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))