diff options
Diffstat (limited to 'drivers/media/video/mt9v022.c')
-rw-r--r-- | drivers/media/video/mt9v022.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/media/video/mt9v022.c b/drivers/media/video/mt9v022.c index 3b3a6a027b1d..be20747b8138 100644 --- a/drivers/media/video/mt9v022.c +++ b/drivers/media/video/mt9v022.c | |||
@@ -406,15 +406,17 @@ static int mt9v022_set_fmt(struct soc_camera_device *icd, | |||
406 | static int mt9v022_try_fmt(struct soc_camera_device *icd, | 406 | static int mt9v022_try_fmt(struct soc_camera_device *icd, |
407 | struct v4l2_format *f) | 407 | struct v4l2_format *f) |
408 | { | 408 | { |
409 | if (f->fmt.pix.height < 32 + icd->y_skip_top) | 409 | struct v4l2_pix_format *pix = &f->fmt.pix; |
410 | f->fmt.pix.height = 32 + icd->y_skip_top; | 410 | |
411 | if (f->fmt.pix.height > 480 + icd->y_skip_top) | 411 | if (pix->height < 32 + icd->y_skip_top) |
412 | f->fmt.pix.height = 480 + icd->y_skip_top; | 412 | pix->height = 32 + icd->y_skip_top; |
413 | if (f->fmt.pix.width < 48) | 413 | if (pix->height > 480 + icd->y_skip_top) |
414 | f->fmt.pix.width = 48; | 414 | pix->height = 480 + icd->y_skip_top; |
415 | if (f->fmt.pix.width > 752) | 415 | if (pix->width < 48) |
416 | f->fmt.pix.width = 752; | 416 | pix->width = 48; |
417 | f->fmt.pix.width &= ~0x03; /* ? */ | 417 | if (pix->width > 752) |
418 | pix->width = 752; | ||
419 | pix->width &= ~0x03; /* ? */ | ||
418 | 420 | ||
419 | return 0; | 421 | return 0; |
420 | } | 422 | } |