From patchwork Fri May 10 12:06:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans Verkuil X-Patchwork-Id: 2549471 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 3B9C53FD85 for ; Fri, 10 May 2013 12:07:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751761Ab3EJMHI (ORCPT ); Fri, 10 May 2013 08:07:08 -0400 Received: from smtp-vbr2.xs4all.nl ([194.109.24.22]:3911 "EHLO smtp-vbr2.xs4all.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751718Ab3EJMHH (ORCPT ); Fri, 10 May 2013 08:07:07 -0400 Received: from alastor.dyndns.org (166.80-203-20.nextgentel.com [80.203.20.166] (may be forged)) (authenticated bits=0) by smtp-vbr2.xs4all.nl (8.13.8/8.13.8) with ESMTP id r4AC6qDW077234 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 10 May 2013 14:06:53 +0200 (CEST) (envelope-from hverkuil@xs4all.nl) Received: from durdane.localnet (64-103-25-233.cisco.com [64.103.25.233]) (Authenticated sender: hans) by alastor.dyndns.org (Postfix) with ESMTPSA id 6A4B81300099; Fri, 10 May 2013 14:06:51 +0200 (CEST) From: Hans Verkuil To: Borislav Petkov Subject: Re: WARNING: at drivers/media/v4l2-core/videobuf2-core.c:2065 vb2_queue_init+0x74/0x142() Date: Fri, 10 May 2013 14:06:50 +0200 User-Agent: KMail/1.13.7 (Linux/3.9.0-rc1-durdane; KDE/4.8.4; x86_64; ; ) Cc: linux-media@vger.kernel.org References: <20130508201118.GH30955@pd.tnic> In-Reply-To: <20130508201118.GH30955@pd.tnic> MIME-Version: 1.0 Message-Id: <201305101406.50935.hverkuil@xs4all.nl> X-Virus-Scanned: by XS4ALL Virus Scanner Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org On Wed May 8 2013 22:11:18 Borislav Petkov wrote: > This one looks legit: bw-qcam.c doesn't set q->timestamp_type. > > [ 146.989016] Colour QuickCam for Video4Linux v0.06 > [ 147.713065] ------------[ cut here ]------------ > [ 147.928854] WARNING: at drivers/media/v4l2-core/videobuf2-core.c:2065 vb2_queue_init+0x74/0x142() > [ 148.364433] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-12947-g0f99ebe5052a #1 > [ 148.799135] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007 > [ 149.017598] ffffffff8239cab3 ffff88007b789d48 ffffffff81d81cb0 ffff88007b789d88 > [ 149.465524] ffffffff810943a8 ffff88007b789d88 0000000000000000 ffff880079a7a700 > [ 149.909985] ffff880079a7a068 ffff880079a7a608 ffff8800798d1c00 ffff88007b789d98 > [ 150.345653] Call Trace: > [ 150.550444] [] dump_stack+0x19/0x1b > [ 150.756860] [] warn_slowpath_common+0x62/0x7b > [ 150.962012] [] warn_slowpath_null+0x1a/0x1e > [ 151.160574] [] vb2_queue_init+0x74/0x142 > [ 151.354795] [] bwqcam_attach+0x1e0/0x54a > [ 151.543644] [] parport_register_driver+0x2e/0x6d > [ 151.727651] [] ? cqcam_init+0x20/0x20 > [ 151.906958] [] init_bw_qcams+0x10/0x12 > [ 152.084031] [] do_one_initcall+0x7b/0x116 > [ 152.262088] [] kernel_init_freeable+0x160/0x1f2 > [ 152.441466] [] ? do_early_param+0x8c/0x8c > [ 152.619998] [] ? rest_init+0xdf/0xdf > [ 152.797458] [] kernel_init+0xe/0xdb > [ 152.970650] [] ret_from_fork+0x7c/0xb0 > [ 153.140434] [] ? rest_init+0xdf/0xdf > [ 153.305520] ---[ end trace a72f2983de4c60b5 ]--- > [ 154.459479] No Quickcam found on port parport0 > [ 154.613448] Quickcam detection counter: 0 > > Hi Borislav! Thanks for the report. Can you try this patch? This should fix it. Regards, Hans Tested-by: Borislav Petkov diff --git a/drivers/media/parport/bw-qcam.c b/drivers/media/parport/bw-qcam.c index 06231b8..d12bd33 100644 --- a/drivers/media/parport/bw-qcam.c +++ b/drivers/media/parport/bw-qcam.c @@ -687,6 +687,7 @@ static int buffer_finish(struct vb2_buffer *vb) parport_release(qcam->pdev); mutex_unlock(&qcam->lock); + v4l2_get_timestamp(&vb->v4l2_buf.timestamp); if (len != size) vb->state = VB2_BUF_STATE_ERROR; vb2_set_plane_payload(vb, 0, len); @@ -964,6 +965,7 @@ static struct qcam *qcam_init(struct parport *port) q->drv_priv = qcam; q->ops = &qcam_video_qops; q->mem_ops = &vb2_vmalloc_memops; + q->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; err = vb2_queue_init(q); if (err < 0) { v4l2_err(v4l2_dev, "couldn't init vb2_queue for %s.\n", port->name);