Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1963976ybl; Thu, 30 Jan 2020 09:04:05 -0800 (PST) X-Google-Smtp-Source: APXvYqz6LB6YN9VtHl1q1B4B4d8hnFmc9nu8Xe0wpgekUra86bZIUZdz90YGmrZkQ5sBEIKu5g/A X-Received: by 2002:a9d:66c1:: with SMTP id t1mr3934776otm.73.1580403844784; Thu, 30 Jan 2020 09:04:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580403844; cv=none; d=google.com; s=arc-20160816; b=jeFDVsR7t+rov2X6ex+mkwvXpCHFXBsfBH08eUTljxQBlZuBf+5SNf7NbT6bHtH63M 4OLPpID+j15uB5LsNPCyHjmFJDeP0beIXxMO8kR44nWOnr/sA/MNc+ZGmv1uHcOcyZnh 382krCHeydcV9ICnxynPJXkcl4ZRPNTEtcZc458wZv3ixd4jNYHmRRGqcaRfLbeqqAdK lsB7j+5SmDABAGR0co8oN4PayqxLijORY6a63I9QuEug9sVxv38K9D0akX57Jk5gVXEI EnFo8bxvfGMb8e9nKIhFNDoDGyULutt9ikUMVAcN5GKot+I3UlQmg1WPHkpOQlT2Vsi/ 4/qA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=A9RuPB5fbixK5sm9wKeq5QfAS+EZrvYRY7JYNhFDIxM=; b=ifhd/6Zh3WOWIzFoJDk5cuTBdVNMj2OYqPRc9x2RH1e27amqvhsGwvxpQENvEeLPFl 3U8CHtOPC6jINmwedg3Ou82LtN0xKZ70HvrbVb6c9jj1eoHJvaFvLnkn0KsNu2KOPqlA Ce6lVs8zm/Blaz0YGRtP52kgCUy2XIMY9Qw7cVg7X8ZU7fpEGDwdySrmclWvaAnFI/X3 n1H+MFeA8pQIA7O2k1JeCrUSfGE87C2LTniEy7gDnpPHUotFEDi2epPcddnSNXwqVSAh xCprbFe1FwmUh4qhIqq1X4FfqlchpKR8VtVrrKRgSI7X50RPaR4poxOjEvUL0fZuO4xA cb6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=f+KBjjef; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z14si3029303oih.89.2020.01.30.09.03.48; Thu, 30 Jan 2020 09:04:04 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=f+KBjjef; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727480AbgA3RCZ (ORCPT + 99 others); Thu, 30 Jan 2020 12:02:25 -0500 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:13959 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727158AbgA3RCY (ORCPT ); Thu, 30 Jan 2020 12:02:24 -0500 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Thu, 30 Jan 2020 09:02:03 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Thu, 30 Jan 2020 09:02:23 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Thu, 30 Jan 2020 09:02:23 -0800 Received: from [10.2.164.115] (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 30 Jan 2020 17:02:23 +0000 Subject: Re: Re: Re: [RFC PATCH v1 4/5] media: tegra: Add Tegra Video input driver for Tegra210 To: Thierry Reding CC: , , , , , , , References: <1580235801-4129-1-git-send-email-skomatineni@nvidia.com> <1580235801-4129-5-git-send-email-skomatineni@nvidia.com> <20200129111340.GF2479935@ulmo> <070f9a4c-1919-f3f6-fef3-ed0a84cf5776@nvidia.com> <20200130122055.GA2584455@ulmo> From: Sowjanya Komatineni Message-ID: <5a45782a-d88f-099a-f3b6-3c0255131f6b@nvidia.com> Date: Thu, 30 Jan 2020 09:02:21 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20200130122055.GA2584455@ulmo> X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1580403723; bh=A9RuPB5fbixK5sm9wKeq5QfAS+EZrvYRY7JYNhFDIxM=; h=X-PGP-Universal:Subject:To:CC:References:From:Message-ID:Date: User-Agent:MIME-Version:In-Reply-To:X-Originating-IP: X-ClientProxiedBy:Content-Type:Content-Transfer-Encoding: Content-Language; b=f+KBjjefTnGF+7UwoAa9RNl2MGpafpuIMkycNlYO3mvZKyGb+pnAb7SfZtnWE9Qiq pXfRB7v8J2Kbfb0ONZ+7H0yt/iEibISeh9AWrAjNpBFg4c3Mb5V0Nf3NWa7tp75GT7 OAAXITy2uqWyrz5UtCH6UcbZ+jMRie1i9EzYlhMhlKYGxfS6ld28TpFFU+5reXQOmy +Chrfc/+ecGwiCVNveR2ge83D+ZY+2k4lQdT3bSgwpc4UNb/t+k5Q20OJexu3t+TlB ShQsGCdA2nuVSXex8Xj/09EMUrnPjuIUiSWCntiL2nhyDA+N5fpR4jF8AB850rRdBq 6O16IKT8ainJA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/30/20 4:20 AM, Thierry Reding wrote: > On Wed, Jan 29, 2020 at 09:23:38AM -0800, Sowjanya Komatineni wrote: >> On 1/29/20 3:13 AM, Thierry Reding wrote: >>> On Tue, Jan 28, 2020 at 10:23:20AM -0800, Sowjanya Komatineni wrote: > [...] >>>> diff --git a/drivers/staging/media/tegra/host1x-video.c b/drivers/staging/media/tegra/host1x-video.c > [...] >>>> + media_device_init(&cam->media_dev); >>>> + ret = media_device_register(&cam->media_dev); >>>> + if (ret < 0) { >>>> + dev_err(cam->dev, "failed to register media device: %d\n", ret); >>>> + return ret; >>>> + } >>>> + >>>> + cam->v4l2_dev.mdev = &cam->media_dev; >>>> + ret = v4l2_device_register(cam->dev, &cam->v4l2_dev); >>>> + if (ret < 0) { >>>> + dev_err(cam->dev, "V4L2 device registration failed: %d\n", ret); >>>> + goto register_error; >>>> + } >>>> + >>>> + dev_set_drvdata(&dev->dev, cam); >>>> + >>>> + ret = host1x_device_init(dev); >>>> + if (ret < 0) >>>> + goto dev_exit; >>>> + >>>> + return 0; >>>> + >>>> +dev_exit: >>>> + host1x_device_exit(dev); >>> There should be no need to call host1x_device_exit() when >>> host1x_device_init() failed because the latter already takes care of >>> undoing whatever it did already. >>> >> host1x_device_init can fail if any of its client ops init fails. >> >> So, calling host1x_device_exit here to undo the things done in other >> successful client init ops. > host1x_device_init() already takes care of undoing what it did on > failure. Also, it makes sure to only undo what had already been done, > rather than tear down every client, even if it hadn't been initialized > yet when the failure happened. The latter is what would happen if you > called host1x_device_exit() to cleanup at this point. > > Thierry Sorry, yes I see host1x_device_init calls exit ops on failures . Will remove it. Thanks Thierry.