soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
authorZhang Qilong <zhangqilong3@huawei.com>
Tue, 8 Nov 2022 08:03:21 +0000 (16:03 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:31:51 +0000 (13:31 +0100)
[ Upstream commit e961c0f19450fd4a26bd043dd2979990bf12caf6 ]

The pm_runtime_enable will increase power disable depth. Thus
a pairing decrement is needed on the error handling path to
keep it balanced according to context.

Fixes: 41f93af900a2 ("soc: ti: add Keystone Navigator QMSS driver")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20221108080322.52268-2-zhangqilong3@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/soc/ti/knav_qmss_queue.c

index 16a6d53..8fb7690 100644 (file)
@@ -1785,6 +1785,7 @@ static int knav_queue_probe(struct platform_device *pdev)
        pm_runtime_enable(&pdev->dev);
        ret = pm_runtime_resume_and_get(&pdev->dev);
        if (ret < 0) {
+               pm_runtime_disable(&pdev->dev);
                dev_err(dev, "Failed to enable QMSS\n");
                return ret;
        }