Skip to content

Commit 97112c8

Browse files
jhovoldandersson
authored andcommitted
clk: qcom: q6sstop-qcs404: fix missing resume during probe
Drivers that enable runtime PM must make sure that the controller is runtime resumed before accessing its registers to prevent the power domain from being disabled. Fixes: 6cdef27 ("clk: qcom: Add Q6SSTOP clock controller for QCS404") Cc: [email protected] # 5.5 Signed-off-by: Johan Hovold <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
1 parent 66af533 commit 97112c8

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

drivers/clk/qcom/q6sstop-qcs404.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,21 +174,32 @@ static int q6sstopcc_qcs404_probe(struct platform_device *pdev)
174174
return ret;
175175
}
176176

177+
ret = pm_runtime_resume_and_get(&pdev->dev);
178+
if (ret)
179+
return ret;
180+
177181
q6sstop_regmap_config.name = "q6sstop_tcsr";
178182
desc = &tcsr_qcs404_desc;
179183

180184
ret = qcom_cc_probe_by_index(pdev, 1, desc);
181185
if (ret)
182-
return ret;
186+
goto err_put_rpm;
183187

184188
q6sstop_regmap_config.name = "q6sstop_cc";
185189
desc = &q6sstop_qcs404_desc;
186190

187191
ret = qcom_cc_probe_by_index(pdev, 0, desc);
188192
if (ret)
189-
return ret;
193+
goto err_put_rpm;
194+
195+
pm_runtime_put(&pdev->dev);
190196

191197
return 0;
198+
199+
err_put_rpm:
200+
pm_runtime_put_sync(&pdev->dev);
201+
202+
return ret;
192203
}
193204

194205
static const struct dev_pm_ops q6sstopcc_pm_ops = {

0 commit comments

Comments
 (0)