diff options
| -rw-r--r-- | drivers/media/video/ivtv/ivtvfb.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtvfb.c b/drivers/media/video/ivtv/ivtvfb.c index 2d5a97431c0a..5dec2e4012bd 100644 --- a/drivers/media/video/ivtv/ivtvfb.c +++ b/drivers/media/video/ivtv/ivtvfb.c | |||
| @@ -836,6 +836,10 @@ static int ivtvfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *inf | |||
| 836 | u32 osd_pan_index; | 836 | u32 osd_pan_index; |
| 837 | struct ivtv *itv = (struct ivtv *) info->par; | 837 | struct ivtv *itv = (struct ivtv *) info->par; |
| 838 | 838 | ||
| 839 | if (var->yoffset + info->var.yres > info->var.yres_virtual || | ||
| 840 | var->xoffset + info->var.xres > info->var.xres_virtual) | ||
| 841 | return -EINVAL; | ||
| 842 | |||
| 839 | osd_pan_index = var->yoffset * info->fix.line_length | 843 | osd_pan_index = var->yoffset * info->fix.line_length |
| 840 | + var->xoffset * info->var.bits_per_pixel / 8; | 844 | + var->xoffset * info->var.bits_per_pixel / 8; |
| 841 | write_reg(osd_pan_index, 0x02A0C); | 845 | write_reg(osd_pan_index, 0x02A0C); |
