media: mt9v032: fix hblank calculation
authorPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 26 May 2014 13:55:51 +0000 (10:55 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Sep 2014 16:19:06 +0000 (09:19 -0700)
commit f17bc3f4707eb87bdb80b895911c551cdd606fbd upstream.

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.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/i2c/mt9v032.c

index 36c504b..008ac87 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);