Message ID | 49CA611B.5050902@freemail.hu (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-path: <linux-media-owner@vger.kernel.org> Envelope-to: mchehab@infradead.org Delivery-date: Wed, 25 Mar 2009 16:51:52 +0000 Received: from vger.kernel.org ([209.132.176.167]) by bombadil.infradead.org with esmtp (Exim 4.69 #1 (Red Hat Linux)) id 1LmWKW-0006j3-79; Wed, 25 Mar 2009 16:51:52 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753059AbZCYQvu (ORCPT <rfc822; kmpark@infradead.org> + 1 other); Wed, 25 Mar 2009 12:51:50 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753711AbZCYQvu (ORCPT <rfc822;linux-media-outgoing>); Wed, 25 Mar 2009 12:51:50 -0400 Received: from mail01a.mail.t-online.hu ([84.2.40.6]:54685 "EHLO mail01a.mail.t-online.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753059AbZCYQvs (ORCPT <rfc822;linux-media@vger.kernel.org>); Wed, 25 Mar 2009 12:51:48 -0400 Received: from [192.168.1.65] (dsl51B65935.pool.t-online.hu [81.182.89.53]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail01a.mail.t-online.hu (Postfix) with ESMTPSA id 9E4F6797B6A; Wed, 25 Mar 2009 17:51:17 +0100 (CET) Message-ID: <49CA611B.5050902@freemail.hu> Date: Wed, 25 Mar 2009 17:51:39 +0100 From: =?ISO-8859-2?Q?N=E9meth_M=E1rton?= <nm127@freemail.hu> User-Agent: Mozilla/5.0 (X11; U; Linux i686; hu-HU; rv:1.8.1.16) Gecko/20080702 SeaMonkey/1.1.11 MIME-Version: 1.0 To: Mauro Carvalho Chehab <mchehab@infradead.org>, linux-media@vger.kernel.org CC: LKML <linux-kernel@vger.kernel.org> Subject: [PATCH] v4l2: fill reserved fields of VIDIOC_ENUMAUDIO also Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit X-DCC-mail.t-online.hu-Metrics: mail01a.mail.t-online.hu 32711; Body=3 Fuz1=3 Fuz2=3 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org |
Commit Message
Németh Márton
March 25, 2009, 4:51 p.m. UTC
From: Márton Németh <nm127@freemail.hu> When enumerating audio inputs with VIDIOC_ENUMAUDIO the gspca_sunplus driver does not fill the reserved fields of the struct v4l2_audio with zeros as required by V4L2 API revision 0.24 [1]. Add the missing initializations to the V4L2 framework. The patch was tested with v4l-test 0.10 [2] with gspca_sunplus driver and with Trust 610 LCD POWERC@M ZOOM webcam. References: [1] V4L2 API specification, revision 0.24 http://v4l2spec.bytesex.org/spec/r8242.htm [2] v4l-test: Test environment for Video For Linux Two API http://v4l-test.sourceforge.net/ Signed-off-by: Márton Németh <nm127@freemail.hu> --- -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Comments
On Wed, 25 Mar 2009 17:51:39 +0100 Németh Márton <nm127@freemail.hu> wrote: > From: Márton Németh <nm127@freemail.hu> > > When enumerating audio inputs with VIDIOC_ENUMAUDIO the gspca_sunplus driver > does not fill the reserved fields of the struct v4l2_audio with zeros as > required by V4L2 API revision 0.24 [1]. Add the missing initializations to > the V4L2 framework. > > The patch was tested with v4l-test 0.10 [2] with gspca_sunplus driver and > with Trust 610 LCD POWERC@M ZOOM webcam. It didn't apply against the development tree. Anyway, a recent patch removed the need of memset there. the memory fill with zero now happens at the same code we copy the structure values. Cheers, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 27 Mar 2009, Mauro Carvalho Chehab wrote: > On Wed, 25 Mar 2009 17:51:39 +0100 > Németh Márton <nm127@freemail.hu> wrote: > > > From: Márton Németh <nm127@freemail.hu> > > > > When enumerating audio inputs with VIDIOC_ENUMAUDIO the gspca_sunplus driver > > does not fill the reserved fields of the struct v4l2_audio with zeros as > > required by V4L2 API revision 0.24 [1]. Add the missing initializations to > > the V4L2 framework. > > > > The patch was tested with v4l-test 0.10 [2] with gspca_sunplus driver and > > with Trust 610 LCD POWERC@M ZOOM webcam. > > It didn't apply against the development tree. Anyway, a recent patch removed > the need of memset there. the memory fill with zero now happens at the same > code we copy the structure values. That code is in video_ioctl2, which gspca doesn't use. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Friday 27 March 2009 20:45:40 Trent Piepho wrote: > On Fri, 27 Mar 2009, Mauro Carvalho Chehab wrote: > > On Wed, 25 Mar 2009 17:51:39 +0100 > > > > Németh Márton <nm127@freemail.hu> wrote: > > > From: Márton Németh <nm127@freemail.hu> > > > > > > When enumerating audio inputs with VIDIOC_ENUMAUDIO the gspca_sunplus > > > driver does not fill the reserved fields of the struct v4l2_audio > > > with zeros as required by V4L2 API revision 0.24 [1]. Add the missing > > > initializations to the V4L2 framework. > > > > > > The patch was tested with v4l-test 0.10 [2] with gspca_sunplus driver > > > and with Trust 610 LCD POWERC@M ZOOM webcam. > > > > It didn't apply against the development tree. Anyway, a recent patch > > removed the need of memset there. the memory fill with zero now happens > > at the same code we copy the structure values. > > That code is in video_ioctl2, which gspca doesn't use. Yes, gspca does use video_ioctl2. You're probably confused with uvcvideo, which doesn't use it. Regards, Hans
On Fri, 27 Mar 2009, Hans Verkuil wrote: > On Friday 27 March 2009 20:45:40 Trent Piepho wrote: > > On Fri, 27 Mar 2009, Mauro Carvalho Chehab wrote: > > > On Wed, 25 Mar 2009 17:51:39 +0100 > > > > > > Németh Márton <nm127@freemail.hu> wrote: > > > > From: Márton Németh <nm127@freemail.hu> > > > > > > > > When enumerating audio inputs with VIDIOC_ENUMAUDIO the gspca_sunplus > > > > driver does not fill the reserved fields of the struct v4l2_audio > > > > with zeros as required by V4L2 API revision 0.24 [1]. Add the missing > > > > initializations to the V4L2 framework. > > > > > > > > The patch was tested with v4l-test 0.10 [2] with gspca_sunplus driver > > > > and with Trust 610 LCD POWERC@M ZOOM webcam. > > > > > > It didn't apply against the development tree. Anyway, a recent patch > > > removed the need of memset there. the memory fill with zero now happens > > > at the same code we copy the structure values. > > > > That code is in video_ioctl2, which gspca doesn't use. > > Yes, gspca does use video_ioctl2. You're probably confused with uvcvideo, > which doesn't use it. You're right, I was thinking about Németh's earlier patches for the same things in uvcvideo. This patch wasn't for gspca anyway, it was for the v4l2 core, and Mauro's right it's not necessary as my patch series fixed all these problems. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- linux-2.6.29/drivers/media/video/v4l2-ioctl.c.orig 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29/drivers/media/video/v4l2-ioctl.c 2009-03-25 17:11:27.000000000 +0100 @@ -1363,9 +1363,13 @@ static long __video_do_ioctl(struct file case VIDIOC_ENUMAUDIO: { struct v4l2_audio *p = arg; + __u32 index = p->index; if (!ops->vidioc_enumaudio) break; + + memset(p, 0, sizeof(*p)); + p->index = index; ret = ops->vidioc_enumaudio(file, fh, p); if (!ret) dbgarg(cmd, "index=%d, name=%s, capability=0x%x, "