diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2011-05-25 06:41:23 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-06-01 08:45:19 -0300 |
commit | 5d9c08dea0c13c09408f97fe61d34c198c4f3277 (patch) | |
tree | 572f04b7e29e4ecb8b60c3029f3d49df0408bb34 /drivers/media/video/ivtv/ivtvfb.c | |
parent | 7700a0d293ad8b1b1759ad06ac868f9a42fd0951 (diff) | |
download | blackbird-op-linux-5d9c08dea0c13c09408f97fe61d34c198c4f3277.tar.gz blackbird-op-linux-5d9c08dea0c13c09408f97fe61d34c198c4f3277.zip |
[media] ivtvfb: use display information in info not in var for panning
We must not use any information in the passed var besides xoffset,
yoffset and vmode as otherwise applications might abuse it. Also use the
aligned fix.line_length and not the (possible) unaligned xres_virtual.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/ivtv/ivtvfb.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtvfb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/video/ivtv/ivtvfb.c b/drivers/media/video/ivtv/ivtvfb.c index 17247451c693..2d5a97431c0a 100644 --- a/drivers/media/video/ivtv/ivtvfb.c +++ b/drivers/media/video/ivtv/ivtvfb.c @@ -836,7 +836,8 @@ static int ivtvfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *inf u32 osd_pan_index; struct ivtv *itv = (struct ivtv *) info->par; - osd_pan_index = (var->xoffset + (var->yoffset * var->xres_virtual))*var->bits_per_pixel/8; + osd_pan_index = var->yoffset * info->fix.line_length + + var->xoffset * info->var.bits_per_pixel / 8; write_reg(osd_pan_index, 0x02A0C); /* Pass this info back the yuv handler */ |