Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp361268ybt; Wed, 24 Jun 2020 00:48:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzyteL3TslSGcW3n59Rt+M+/kuTaywUnGAG6OK4q+t5cL5gNAs/umpuCT7udlkQwQ/SSwie X-Received: by 2002:a17:906:ad9:: with SMTP id z25mr9617166ejf.53.1592984897559; Wed, 24 Jun 2020 00:48:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592984897; cv=none; d=google.com; s=arc-20160816; b=eGPvPyj9ju/G7r1EWT3u+kqyILvvlOnUN2YZnU+b3e/LO7l95sbvEDXI+dTQGlYKkx EEiHQ8rnpkMV6LT4sf/CX2IeLIZZOegOsl3mdFZDJ7yjLQJKCcUBPzTCtDdusekX0iBF 8+Pb1qNUYXdsiy/Jar2/d0wDiGGEU8XQxxbebf+kgEtATHrWfHG9MFvxf27FjfPUv97a WPXjqTyqGGti3XmXm6Mtm3QrB2fqfQm+1jdFzqyQqA+/0U+TwepCDyL182CInoB2/8QZ E7sPdp+OAusyUn9n/9+cuccKToWLWnIKW6PlL8SPoEsjasybuF0fjTM3bULYhcd+eU2f rsZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=95bwSAeWgrOqlhGjZ0y8/UVfcYRgcXDC/vL0bNDzlgw=; b=Th9N/wyt+CHxfFT1W0Ytm7l+BSPsiOgBoA3fWosip7hHsjnqYaZWVtoUeP2EOvM24T XJ5S7rNbdf1Fzq6TU3fKi1IfF92N5qu1XMu6RB835fEeWml7sqRwmhooE6KDkmPhCFD7 sJfjt4KMRHZY7SYoU2XWsm8CvEbU5sYhhkt6mrGNC6LbE2G6RF/uBlRCqT/hmZpAQh2O qWXJRmLAW+gXgzBwzxiPdOskO02IjJdrklU0xaBJ4wLVyphNHgHtwY5pwCL8FVnZQuG9 BdAmKQ0mgw8xJzyh2ZHQsGqWYdrkuaFQAOaBPzACKQ8XpRwkWINkRYZJGKiGiEsUl+Jx Dk2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=TZsT3ySZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c25si627970edw.141.2020.06.24.00.47.53; Wed, 24 Jun 2020 00:48:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=TZsT3ySZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390141AbgFXHqS (ORCPT + 99 others); Wed, 24 Jun 2020 03:46:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:46048 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389948AbgFXHqR (ORCPT ); Wed, 24 Jun 2020 03:46:17 -0400 Received: from localhost (unknown [171.61.66.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6DFFF20874; Wed, 24 Jun 2020 07:46:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592984777; bh=Pqvog+kc4WzGeG+jHR1QQdfOtKiGAH+Ios6F59XvbQY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=TZsT3ySZDW0LMtJpGzvg+4Fl8S+NyPsoQC/i70Ntirwdan/z//IH8ph1ANhyMctlG NFo04JeMLcMP2Apt1SAHCWUy2OdGFs8rlqcWmhqJoHvQVQGU46XpUdWwA36LzEfyBQ ANtdxTKJU7fH9TZ99SaTNnEg2mBG52JQIggjrgSI= Date: Wed, 24 Jun 2020 13:16:13 +0530 From: Vinod Koul To: Navid Emamdoost Cc: Dan Williams , Maxime Coquelin , Alexandre Torgue , dmaengine@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, emamd001@umn.edu, wu000273@umn.edu, kjlu@umn.edu, smccaman@umn.edu Subject: Re: [PATCH] dmaengine: stm32-mdma: call pm_runtime_put if pm_runtime_get_sync fails Message-ID: <20200624074613.GS2324254@vkoul-mobl> References: <20200603182850.66692-1-navid.emamdoost@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200603182850.66692-1-navid.emamdoost@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03-06-20, 13:28, Navid Emamdoost wrote: > Calling pm_runtime_get_sync increments the counter even in case of > failure, causing incorrect ref count. Call pm_runtime_put if > pm_runtime_get_sync fails. > > Signed-off-by: Navid Emamdoost > --- > drivers/dma/stm32-mdma.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/stm32-mdma.c b/drivers/dma/stm32-mdma.c > index 5469563703d1..79bee1bb73f6 100644 > --- a/drivers/dma/stm32-mdma.c > +++ b/drivers/dma/stm32-mdma.c > @@ -1449,8 +1449,10 @@ static int stm32_mdma_alloc_chan_resources(struct dma_chan *c) > } > > ret = pm_runtime_get_sync(dmadev->ddev.dev); > - if (ret < 0) > + if (ret < 0) { > + pm_runtime_put(dmadev->ddev.dev); > return ret; > + } > > ret = stm32_mdma_disable_chan(chan); > if (ret < 0) > @@ -1718,8 +1720,10 @@ static int stm32_mdma_pm_suspend(struct device *dev) > int ret; > > ret = pm_runtime_get_sync(dev); > - if (ret < 0) > + if (ret < 0) { > + pm_runtime_put_sync(dev); Not put_sync()... > return ret; > + } > > for (id = 0; id < dmadev->nr_channels; id++) { > ccr = stm32_mdma_read(dmadev, STM32_MDMA_CCR(id)); > -- > 2.17.1 -- ~Vinod