Patch "[media] saa7134: Fix bytesperline not being set correctly for planar formats" has been added to the 4.5-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
[media] saa7134: Fix bytesperline not being set correctly for planar formats
to the 4.5-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
saa7134-fix-bytesperline-not-being-set-correctly-for-planar-formats.patch
and it can be found in the queue-4.5 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
3e71da19f9dc22e39a755d6ae9678661abb66adcMon Sep 17 00:00:00 2001
From: Hans de Goede <[email protected]>
Date: Sun, 14 Feb 2016 17:51:37 -0200
Subject: [media] saa7134: Fix bytesperline not being set correctly for planar formats
From: Hans de Goede <[email protected]>
commit 3e71da19f9dc22e39a755d6ae9678661abb66adc upstream.
bytesperline should be the bytesperline for the first plane for planar formats, not that of all planes combined.
This fixes a crash in xawtv caused by the wrong bpl.
--- drivers/media/pci/saa7134/saa7134-video.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
drivers/media/pci/saa7134/saa7134-video.c +12 -6
@@ -1219,10 +1219,13 @@ static int saa7134_g_fmt_vid_cap(struct f->fmt.pix.height = dev->height; f->fmt.pix.field = dev->field; f->fmt.pix.pixelformat = dev->fmt->fourcc; - f->fmt.pix.bytesperline = - (f->fmt.pix.width * dev->fmt->depth) >>3 ; +if (dev->fmt->planar) + f->fmt.pix.bytesperline = f->fmt.pix.width; +else + f->fmt.pix.bytesperline = + (f->fmt.pix.width * dev->fmt->depth) /8 ; f->fmt.pix.sizeimage = - f->fmt.pix.height * f->fmt.pix.bytesperline; + (f->fmt.pix.height * f->fmt.pix.width * dev->fmt->depth) /8 ; f->fmt.pix.colorspace =V4L2_COLORSPACE_SMPTE170M ;return 0 ; }
@@ -1298,10 +1301,13 @@ static int saa7134_try_fmt_vid_cap(strucif (f->fmt.pix.height > maxh) f->fmt.pix.height = maxh; f->fmt.pix.width &= ~0x03 ; - f->fmt.pix.bytesperline = - (f->fmt.pix.width * fmt->depth) >>3 ; +if (fmt->planar) + f->fmt.pix.bytesperline = f->fmt.pix.width; +else + f->fmt.pix.bytesperline = + (f->fmt.pix.width * fmt->depth) /8 ; f->fmt.pix.sizeimage = - f->fmt.pix.height * f->fmt.pix.bytesperline; + (f->fmt.pix.height * f->fmt.pix.width * fmt->depth) /8 ; f->fmt.pix.colorspace =V4L2_COLORSPACE_SMPTE170M ;return 0 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.5/pwc-add-usb-id-for-philips-spc880nc-webcam.patch queue-4.5/saa7134-fix-bytesperline-not-being-set-correctly-for-planar-formats.patch queue-4.5/bttv-width-must-be-a-multiple-of-16-when-capturing-planar-formats.patch queue-4.5/usb-uas-reduce-can_queue-to-max_cmnds.patch