From nobody Tue Jun 30 14:22:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B02CC433F5 for ; Sun, 16 Jan 2022 07:32:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234478AbiAPHb7 (ORCPT ); Sun, 16 Jan 2022 02:31:59 -0500 Received: from tkylinode-sdnproxy-1.icoremail.net ([139.162.70.28]:54706 "HELO tkylinode-sdnproxy-1.icoremail.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S230116AbiAPHb6 (ORCPT ); Sun, 16 Jan 2022 02:31:58 -0500 X-Greylist: delayed 6871 seconds by postgrey-1.27 at vger.kernel.org; Sun, 16 Jan 2022 02:31:57 EST DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pku.edu.cn; s=dkim; h=Received:Date:From:To:Cc:Subject: Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID; bh=3phafIXmRMQ5mJXI+ds71pFuhoEA9ECSPORZffJKggg=; b=N3No3k9RzU79u jmbEbpbaQC1mHEjf9YNszzC3/epkJU5lWFP+Gf26hQxWzohAIB2IcGdt/wSinWzm vsHqmwnnuzImNfusC2Soqq7w+VOryNqKblTQUeZufNOMNsxV2pU5FvChaksU2wRJ NZRwgqEMHopfzds4JFFsGKRfLWdZwg= Received: by ajax-webmail-front02 (Coremail) ; Sun, 16 Jan 2022 15:29:51 +0800 (GMT+08:00) X-Originating-IP: [10.129.17.95] Date: Sun, 16 Jan 2022 15:29:51 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: =?UTF-8?B?5YiY5rC45b+X?= To: laurent.pinchart@ideasonboard.com Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] dmaengine: shdma: Fix runtime PM imbalance on error X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.13 build 20210104(ab8c30b6) Copyright (c) 2002-2022 www.mailtech.cn mispb-1ea67e80-64e4-49d5-bd9f-3beeae24b9f2-pku.edu.cn Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Message-ID: <6db72962.1929f.17e61cadc03.Coremail.lyz_cs@pku.edu.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: 54FpogBXX9NvyeNhFqBYAA--.14453W X-CM-SenderInfo: irzqijirqukmo6sn3hxhgxhubq/1tbiAwEEBlPy7t9+qgARsV X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VW7Jw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" pm_runtime_get_() increments the runtime PM usage counter even when it returns an error code, thus a matching decrement is needed on the error handling path to keep the counter balanced. Signed-off-by: Yongzhi Liu --- drivers/dma/sh/shdma-base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/dma/sh/shdma-base.c b/drivers/dma/sh/shdma-base.c index 158e5e7..b26ed69 100644 --- a/drivers/dma/sh/shdma-base.c +++ b/drivers/dma/sh/shdma-base.c @@ -115,8 +115,10 @@ static dma_cookie_t shdma_tx_submit(struct dma_async_t= x_descriptor *tx) ret =3D pm_runtime_get(schan->dev); =20 spin_unlock_irq(&schan->chan_lock); - if (ret < 0) + if (ret < 0) { dev_err(schan->dev, "%s(): GET =3D %d\n", __func__, ret); + pm_runtime_put(schan->dev); + } =20 pm_runtime_barrier(schan->dev); =20 --=20 2.7.4