mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
media: mali-c55: Disable pm_runtime on probe error
When mali_c55_media_frameworks_init() fails, the goto target jumps to
err_free_context_registers, skipping pm_runtime_disable() despite
pm_runtime having already been enabled earlier in the function.
Fix this by adding an err_pm_runtime_disable label and redirecting the
frameworks init failure to it, so pm_runtime is properly unwound on
that error path. The runtime PM status is also set back to suspended
before disabling, to undo the pm_runtime_set_active() from probe.
Cc: stable@vger.kernel.org
Fixes: d5f281f3dd ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: David Carlier <devnexen@gmail.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
2c9b9bcc25
commit
a1db83cc6f
|
|
@ -828,7 +828,7 @@ static int mali_c55_probe(struct platform_device *pdev)
|
|||
|
||||
ret = mali_c55_media_frameworks_init(mali_c55);
|
||||
if (ret)
|
||||
goto err_free_context_registers;
|
||||
goto err_pm_runtime_disable;
|
||||
|
||||
pm_runtime_idle(&pdev->dev);
|
||||
|
||||
|
|
@ -842,8 +842,9 @@ static int mali_c55_probe(struct platform_device *pdev)
|
|||
|
||||
err_deinit_media_frameworks:
|
||||
mali_c55_media_frameworks_deinit(mali_c55);
|
||||
err_pm_runtime_disable:
|
||||
pm_runtime_set_suspended(&pdev->dev);
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
err_free_context_registers:
|
||||
kfree(mali_c55->context.registers);
|
||||
err_power_off:
|
||||
__mali_c55_power_off(mali_c55);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user