Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp313174pxx; Wed, 28 Oct 2020 05:41:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxSjLKXxrrCODZfw8kJIgWh4QifNgcm+vHi+E36Gnk92HTSN9gZfvmy4yXXn0uV+N1MEGmy X-Received: by 2002:aa7:d781:: with SMTP id s1mr7361307edq.122.1603888919263; Wed, 28 Oct 2020 05:41:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603888919; cv=none; d=google.com; s=arc-20160816; b=h56ODsKOYJ08yt1jdCqMuVw5JxJKG/rxqt7h4g23No8eT6ANr2CsqNLub9V7xUpGHm UAVmXBqx8V3QG+1fo0v4wKpu1geMn1R8mK3iKfE6+lDti0bOEyUWBgpdwvXLJDuHV9AJ vt3tlxbOjFaEDz2TtQQyooM36ruXjLhlKs/x8d6MssBi86ex/WsCRzc12Hgd8XusM82/ cUJ2HUE632ujFn0lqsXssSkKQB3x3KruLaT4N4LPJkeVOfpwjU5pt13YhmrRYOpMcHlE CsGDAS/Dxr2KQx0MdS9cQ0S95TWqOgkga3ORvWfiBKzzaYtPmWqgQikyBVCQGzRYBelf Og4A== 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=efVG501rD8fEeVakKpp9sXAomJcN4CB8cpHPhC3LpyQ=; b=dITY2M7dlxQcn8aOEUkTI9QkODIF1grTVSKE4Fp8K+m11PG2UrOTU0E8pVyjK4BOdX OZxdkufEs4gF4YZFD9LdnGY8yjXHsQYYeuUZxig3hMHUtudAdViQIrD3aHfl/63PvGd2 iZOzxJ8uptwtEaFjOEVUFmakcnicWYoWU8bYkuONGjRBb9I4I7vNdardSvLoxm95B6yr jljKO9LVJgMpfGpanQZ5kIW/c/05Ojqag1enRKgZ7Tn6v+zP7ht6GvYQ+7aTFKD/Ouhm 4+37WXJJEuLpFs46WKC6gh6qkvSlQplhRHf5+qoqdFmsEGO6d3ky2CwakMs0PlnTVt8q btHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=IJKVhJ8g; 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=fail (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 dk22si2709939edb.258.2020.10.28.05.41.37; Wed, 28 Oct 2020 05:41:59 -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=IJKVhJ8g; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1797630AbgJ0PYl (ORCPT + 99 others); Tue, 27 Oct 2020 11:24:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:38176 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1796997AbgJ0PXN (ORCPT ); Tue, 27 Oct 2020 11:23:13 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 3BB3A20657; Tue, 27 Oct 2020 15:23:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603812193; bh=9wKS+bOD5X6wF0z12+Q03h5eBqJKEhOTM9h6X8XjQEo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IJKVhJ8gwLEf6vUFFGIEPakX4WYJN0Pzo+JhqUUGhs3DcHBG/V0uRWDVRm7b3brUs GxFjPHKYbemesShy0nbQ/RJdrObEi6zeQ35cBy1lRDfQnRwc+T2Rmv1XX1LH2vs3dY na3+fSjD3G2f5dEKQMDgsyTp2RQSvD/LcbToDu7I= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dinghao Liu , Herbert Xu , Sasha Levin Subject: [PATCH 5.9 125/757] crypto: ccree - fix runtime PM imbalance on error Date: Tue, 27 Oct 2020 14:46:15 +0100 Message-Id: <20201027135456.447588212@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135450.497324313@linuxfoundation.org> References: <20201027135450.497324313@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: dinghao.liu@zju.edu.cn [ Upstream commit b7b57a5643c2ae45afe6aa5e73363b553cacd14b ] pm_runtime_get_sync() increments the runtime PM usage counter even when it returns an error code. However, users of cc_pm_get(), a direct wrapper of pm_runtime_get_sync(), assume that PM usage counter will not change on error. Thus a pairing decrement is needed on the error handling path to keep the counter balanced. Fixes: 8c7849a30255c ("crypto: ccree - simplify Runtime PM handling") Signed-off-by: Dinghao Liu Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin --- drivers/crypto/ccree/cc_pm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/ccree/cc_pm.c b/drivers/crypto/ccree/cc_pm.c index d39e1664fc7ed..3c65bf070c908 100644 --- a/drivers/crypto/ccree/cc_pm.c +++ b/drivers/crypto/ccree/cc_pm.c @@ -65,8 +65,12 @@ const struct dev_pm_ops ccree_pm = { int cc_pm_get(struct device *dev) { int rc = pm_runtime_get_sync(dev); + if (rc < 0) { + pm_runtime_put_noidle(dev); + return rc; + } - return (rc == 1 ? 0 : rc); + return 0; } void cc_pm_put_suspend(struct device *dev) -- 2.25.1