]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe
authorZhang Shurong <zhang_shurong@foxmail.com>
Thu, 5 Oct 2023 14:28:35 +0000 (22:28 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Nov 2023 16:26:45 +0000 (17:26 +0100)
[ Upstream commit 0618c077a8c20e8c81e367988f70f7e32bb5a717 ]

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.
We fix it by calling pm_runtime_disable when error returns.

Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/tencent_DD2D371DB5925B4B602B1E1D0A5FA88F1208@qq.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/dma/ste_dma40.c

index cb6b0e9ed5adc64111f122062435113751d9eb05..0e9cb01682647c0a3157fc7d0373072db0c63697 100644 (file)
@@ -3697,6 +3697,7 @@ static int __init d40_probe(struct platform_device *pdev)
                regulator_disable(base->lcpa_regulator);
                regulator_put(base->lcpa_regulator);
        }
+       pm_runtime_disable(base->dev);
 
        kfree(base->lcla_pool.alloc_map);
        kfree(base->lookup_log_chans);