Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753248AbcCJQQj (ORCPT ); Thu, 10 Mar 2016 11:16:39 -0500 Received: from lists.s-osg.org ([54.187.51.154]:44583 "EHLO lists.s-osg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752360AbcCJQQc (ORCPT ); Thu, 10 Mar 2016 11:16:32 -0500 Subject: Re: [PATCH] Revert "[media] au0828: use v4l2_mc_create_media_graph()" To: mchehab@osg.samsung.com, hans.verkuil@cisco.com, nenggun.kim@samsung.com, inki.dae@samsung.com, jh1009.sung@samsung.com, chehabrafael@gmail.com, sakari.ailus@linux.intel.com References: <1457493972-4063-1-git-send-email-shuahkh@osg.samsung.com> Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Shuah Khan From: Shuah Khan Organization: Samsung Open Source Group Message-ID: <56E19DDE.9080307@osg.samsung.com> Date: Thu, 10 Mar 2016 09:16:30 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1457493972-4063-1-git-send-email-shuahkh@osg.samsung.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2740 Lines: 77 On 03/08/2016 08:26 PM, Shuah Khan wrote: > This reverts commit 9822f4173f84cb7c592edb5e1478b7903f69d018. > This commit breaks au0828_enable_handler() logic to find the tuner. > Audio, Video, and Digital applications are broken and fail to start > streaming with tuner busy error even when tuner is free. > > Signed-off-by: Shuah Khan > --- > drivers/media/usb/au0828/au0828-video.c | 103 ++++++++++++++++++++++++++++++-- > drivers/media/v4l2-core/v4l2-mc.c | 21 +------ > 2 files changed, 99 insertions(+), 25 deletions(-) > Hi Mauro, Please pull this revert in as soon as possible. Without the revert, auido, video, and digital applications won't start even. There is a bug in the common routine introduced in the commit 9822f4173f84cb7c592edb5e1478b7903f69d018 which causes the link between source and sink to be not found. I am testing on WIn-TV HVR 950Q Here is my test sequence I use to verify the mutual exclusion works between audio, video, and dvb applications. Generate media graph graph - verify graph looks good. Basic testing: Test case 1: Step 1: Start arecord and generate graph to verify the right source is enabled Step 2: Exit arecord and generate graph and verify resource is released. Test case 2: Step 1: Start kaffeine and generate graph to verify the right source is enabled Step 2: Exit kaffeine - generate graph and verify resource is released. Test case 3: Step 1: Start xawtv and generate graph to verify the right source is enabled Step 2: Exit xawtv - generate graph and verify resource is released. Mutual exclusion testing: Test case 1: Step 1: Start arecord and generate graph to verify the right source is enabled Step 2: Start kaffeine - should see it fail to EBUSY Step 3: Start xawtv - should see it fail with EBUSY Step 4: Exit arecord - generate graph and verify resource is released. Test Case 2: Step 1: Start kaffeine and generate graph to verify the right source is enabled Step 2: Start arecord - it should fail - unable to set hwparams - device busy error Step 3: Start xawtv - should see it fail with EBUSY Step 4: Exit kaffeine - generate graph and verify resource is released. Test Case 3: Step 1: Start xawtv and generate graph to verify the right source is enabled Step 2: Start arecord - it should fail - device busy error Step 3: Start kaffeine should see it fail with EBUSY Step 4: Exit xawtv - generate graph and verify resource is released. At each step make dmesg looks good. I build my kernel with kasan enabled - to detect out of bounds access etc. good stuff. thanks, -- Shuah -- Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) shuahkh@osg.samsung.com | (970) 217-8978