aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2011-05-25 05:41:23 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-06-01 07:45:19 -0400
commit5d9c08dea0c13c09408f97fe61d34c198c4f3277 (patch)
tree572f04b7e29e4ecb8b60c3029f3d49df0408bb34 /drivers/media
parent7700a0d293ad8b1b1759ad06ac868f9a42fd0951 (diff)
[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')
-rw-r--r--drivers/media/video/ivtv/ivtvfb.c3
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
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 osd_pan_index = (var->xoffset + (var->yoffset * var->xres_virtual))*var->bits_per_pixel/8; 839 osd_pan_index = var->yoffset * info->fix.line_length
840 + var->xoffset * info->var.bits_per_pixel / 8;
840 write_reg(osd_pan_index, 0x02A0C); 841 write_reg(osd_pan_index, 0x02A0C);
841 842
842 /* Pass this info back the yuv handler */ 843 /* Pass this info back the yuv handler */