Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp3772132pxt; Tue, 10 Aug 2021 10:58:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwbahBM49TjwKv9qNUpj+KSoKejjtz1t3gDOQ4KwZWEsCaLRl+ina98k8gfK5wVqA1DGfto X-Received: by 2002:a05:6638:2590:: with SMTP id s16mr24888703jat.121.1628618325763; Tue, 10 Aug 2021 10:58:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628618325; cv=none; d=google.com; s=arc-20160816; b=WvlNcY7vpgI171+YzFB3pYcru8r5DcmnVSXZ1mCJCL6fX8b7I1cvseXZvB6fAufeA/ Puj72KmupQ0bHb2TMDoLdFXljuPlnkwJtT47B1joYd1V4TaOLOQOdYLGXJgAMvflmxz3 z6TbVGjy6jjqVLXlr1hEXDc+dG7zz+d0CISxADt1ACRmQnrBGh1fj6pU0OmmuiK0nCES Tbj4ifpFVp/PCJYwDD8wBH5RW/IKIkwQa+hMDdhbRdxCrH1qVRx9995RascxV4U31ym7 Zd3ZueP8vbMHlAMCIaOdaylEqeIhxGr7yNfOTaAvwSRjwblktaW0tw89MAC7MmczTlc4 +rWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ecyUQVtEaokDsIQkZVt01UMKUYZthQ1z92ULEEUceLw=; b=XeNX3eg5hPXGp8XPpDKo86F0Txh0+IKYzHoU5kdLfG6qhvydVBg74hJy+v5lqi5W4b xBS9J02hLiNieuXGwQLQXGUyZtSupzB7wd1V6SnUUGRc2/4BjRejV4uEG1Qw5Hh2Wu3/ /TP6BVL1rC3wUTHyfzicdTG5VW5yhYUOWgeKYo/xhI0vUpy42GPPyVwqyvar5LTsngg0 DmhUr01khM2jLFeIZ5VhS8W++deaUvjm1wIHBsxAPQ/TcX8MyL/AG5yp2Tx+WS+I+vHv dVR//j7Gm8ybtONU/xViEr3jcIVO4O40pe8w9QQ4Cqx3EyhXNlR4YhhZutExc86a2lB+ iD3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DvIRKOxk; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h14si9730945ile.129.2021.08.10.10.58.33; Tue, 10 Aug 2021 10:58:45 -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=@linuxfoundation.org header.s=korg header.b=DvIRKOxk; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237054AbhHJR4t (ORCPT + 99 others); Tue, 10 Aug 2021 13:56:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:43224 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236991AbhHJRyM (ORCPT ); Tue, 10 Aug 2021 13:54:12 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3A23A61355; Tue, 10 Aug 2021 17:44:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1628617446; bh=0NTkwnBfe2rGmx8ZNRuktMmSUZmfZGMdJ/Xpk63KK/E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DvIRKOxkod1NvoU6GuES9wdi4VVIt9GXOPUKDrLKmTZpQAKj59MH2Q9XpsOLDq0BA VBnE5pNNvOi2Gg711+B/Dx91hbBCfEJdysczxPCwpaWAkgTF/BVpg3ICPQzynDUQwI DDbrw6uPvpzKkKlc4va7DO31ai8vKz4pKoD+BZYU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Zhang Qilong , Vinod Koul , Sasha Levin Subject: [PATCH 5.13 029/175] dmaengine: stm32-dma: Fix PM usage counter imbalance in stm32 dma ops Date: Tue, 10 Aug 2021 19:28:57 +0200 Message-Id: <20210810173001.917671196@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210810173000.928681411@linuxfoundation.org> References: <20210810173000.928681411@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Zhang Qilong [ Upstream commit d54db74ad6e0dea8c253fb68c689b836657ab914 ] pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in reference leak here. We fix it by replacing it with pm_runtime_resume_and_get to keep usage counter balanced. Fixes: 48bc73ba14bcd ("dmaengine: stm32-dma: Add PM Runtime support") Fixes: 05f8740a0e6fc ("dmaengine: stm32-dma: add suspend/resume power management support") Signed-off-by: Zhang Qilong Link: https://lore.kernel.org/r/20210607064640.121394-2-zhangqilong3@huawei.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/dma/stm32-dma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dma/stm32-dma.c b/drivers/dma/stm32-dma.c index f54ecb123a52..7dd1d3d0bf06 100644 --- a/drivers/dma/stm32-dma.c +++ b/drivers/dma/stm32-dma.c @@ -1200,7 +1200,7 @@ static int stm32_dma_alloc_chan_resources(struct dma_chan *c) chan->config_init = false; - ret = pm_runtime_get_sync(dmadev->ddev.dev); + ret = pm_runtime_resume_and_get(dmadev->ddev.dev); if (ret < 0) return ret; @@ -1470,7 +1470,7 @@ static int stm32_dma_suspend(struct device *dev) struct stm32_dma_device *dmadev = dev_get_drvdata(dev); int id, ret, scr; - ret = pm_runtime_get_sync(dev); + ret = pm_runtime_resume_and_get(dev); if (ret < 0) return ret; -- 2.30.2