mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
media: qcom: camss: Fix pm_domain_on sequence in probe
We need to make sure camss_configure_pd() happens before
camss_register_entities() as the vfe_get() path relies on the pointer
provided by camss_configure_pd().
Fix the ordering sequence in probe to ensure the pointers vfe_get() demands
are present by the time camss_register_entities() runs.
In order to facilitate backporting to stable kernels I've moved the
configure_pd() call pretty early on the probe() function so that
irrespective of the existence of the old error handling jump labels this
patch should still apply to -next circa Aug 2023 to v5.13 inclusive.
Fixes: 2f6f8af672
("media: camss: Refactor VFE power domain toggling")
Cc: stable@vger.kernel.org
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
6465e260f4
commit
7405116519
@ -1619,6 +1619,12 @@ static int camss_probe(struct platform_device *pdev)
|
||||
if (ret < 0)
|
||||
goto err_cleanup;
|
||||
|
||||
ret = camss_configure_pd(camss);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "Failed to configure power domains: %d\n", ret);
|
||||
goto err_cleanup;
|
||||
}
|
||||
|
||||
ret = camss_init_subdevices(camss);
|
||||
if (ret < 0)
|
||||
goto err_cleanup;
|
||||
@ -1678,12 +1684,6 @@ static int camss_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
ret = camss_configure_pd(camss);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "Failed to configure power domains: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
pm_runtime_enable(dev);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user