From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jarkko Sakkinen Subject: Re: [PATCH] tpm: use devm_add_action_or_reset Date: Tue, 26 Apr 2016 11:30:14 +0300 Message-ID: <20160426083014.GA29628@intel.com> References: <1461617198-32351-1-git-send-email-sudipm.mukherjee@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <1461617198-32351-1-git-send-email-sudipm.mukherjee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tpmdd-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Sudip Mukherjee Cc: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: tpmdd-devel@lists.sourceforge.net On Mon, Apr 25, 2016 at 09:46:38PM +0100, Sudip Mukherjee wrote: > If devm_add_action() fails we are explicitly calling the cleanup function > in the error path. Lets use the helper function devm_add_action_or_reset() > and return directly as we know the cleanup has been done by the helper. Have you verified that this compiles against my tree? /Jarkko > Signed-off-by: Sudip Mukherjee > --- > drivers/char/tpm/tpm-chip.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c > index 5bc530c..aca4505 100644 > --- a/drivers/char/tpm/tpm-chip.c > +++ b/drivers/char/tpm/tpm-chip.c > @@ -212,11 +212,10 @@ struct tpm_chip *tpmm_chip_alloc(struct device *pdev, > if (IS_ERR(chip)) > return chip; > > - rc = devm_add_action(pdev, (void (*)(void *)) put_device, &chip->dev); > - if (rc) { > - put_device(&chip->dev); > + rc = devm_add_action_or_reset(pdev, (void (*)(void *)) put_device, > + &chip->dev); > + if (rc) > return ERR_PTR(rc); > - } > > dev_set_drvdata(pdev, chip); > > -- > 1.9.1 > ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752651AbcDZIaT (ORCPT ); Tue, 26 Apr 2016 04:30:19 -0400 Received: from mga01.intel.com ([192.55.52.88]:15176 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752506AbcDZIaQ (ORCPT ); Tue, 26 Apr 2016 04:30:16 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,536,1455004800"; d="scan'208";a="92033918" Date: Tue, 26 Apr 2016 11:30:14 +0300 From: Jarkko Sakkinen To: Sudip Mukherjee Cc: Peter Huewe , Marcel Selhorst , Jason Gunthorpe , linux-kernel@vger.kernel.org, tpmdd-devel@lists.sourceforge.net Subject: Re: [PATCH] tpm: use devm_add_action_or_reset Message-ID: <20160426083014.GA29628@intel.com> References: <1461617198-32351-1-git-send-email-sudipm.mukherjee@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1461617198-32351-1-git-send-email-sudipm.mukherjee@gmail.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 25, 2016 at 09:46:38PM +0100, Sudip Mukherjee wrote: > If devm_add_action() fails we are explicitly calling the cleanup function > in the error path. Lets use the helper function devm_add_action_or_reset() > and return directly as we know the cleanup has been done by the helper. Have you verified that this compiles against my tree? /Jarkko > Signed-off-by: Sudip Mukherjee > --- > drivers/char/tpm/tpm-chip.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c > index 5bc530c..aca4505 100644 > --- a/drivers/char/tpm/tpm-chip.c > +++ b/drivers/char/tpm/tpm-chip.c > @@ -212,11 +212,10 @@ struct tpm_chip *tpmm_chip_alloc(struct device *pdev, > if (IS_ERR(chip)) > return chip; > > - rc = devm_add_action(pdev, (void (*)(void *)) put_device, &chip->dev); > - if (rc) { > - put_device(&chip->dev); > + rc = devm_add_action_or_reset(pdev, (void (*)(void *)) put_device, > + &chip->dev); > + if (rc) > return ERR_PTR(rc); > - } > > dev_set_drvdata(pdev, chip); > > -- > 1.9.1 >