[media] mt9v032: fix hblank calculation
authorPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 26 May 2014 13:55:51 +0000 (10:55 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 22 Jul 2014 03:50:34 +0000 (00:50 -0300)
Since (min_row_time - crop->width) can be negative, we have to do a signed
comparison here. Otherwise max_t casts the negative value to unsigned int
and sets min_hblank to that invalid value.

Cc: stable@vger.kernel.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/i2c/mt9v032.c

index 435e9e661bbb6929551bbcae028ea3984fe61f0a..d481ed1452f4d983d00757750137a3fab93bb544 100644 (file)
@@ -305,8 +305,8 @@ mt9v032_update_hblank(struct mt9v032 *mt9v032)
 
        if (mt9v032->version->version == MT9V034_CHIP_ID_REV1)
                min_hblank += (mt9v032->hratio - 1) * 10;
-       min_hblank = max_t(unsigned int, (int)mt9v032->model->data->min_row_time - crop->width,
-                          (int)min_hblank);
+       min_hblank = max_t(int, mt9v032->model->data->min_row_time - crop->width,
+                          min_hblank);
        hblank = max_t(unsigned int, mt9v032->hblank, min_hblank);
 
        return mt9v032_write(client, MT9V032_HORIZONTAL_BLANKING, hblank);