diff options
| author | Johan Hovold <[email protected]> | 2023-03-06 08:56:34 +0100 |
|---|---|---|
| committer | Georgi Djakov <[email protected]> | 2023-03-07 22:19:05 +0200 |
| commit | bc463201f60803fa6bf2741d59441031cd0910e4 (patch) | |
| tree | f0d6f00f037d9af86d2704c562057963fe2f44be | |
| parent | 174941ed28a3573db075da46d95b4dcf9d4c49c2 (diff) | |
interconnect: qcom: rpm: fix probe child-node error handling
Make sure to clean up and release resources properly also in case probe
fails when populating child devices.
Fixes: e39bf2972c6e ("interconnect: icc-rpm: Support child NoC device probe")
Cc: [email protected] # 5.17
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Georgi Djakov <[email protected]>
| -rw-r--r-- | drivers/interconnect/qcom/icc-rpm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c index df3196f72536..91778cfcbc65 100644 --- a/drivers/interconnect/qcom/icc-rpm.c +++ b/drivers/interconnect/qcom/icc-rpm.c @@ -541,8 +541,11 @@ regmap_done: platform_set_drvdata(pdev, qp); /* Populate child NoC devices if any */ - if (of_get_child_count(dev->of_node) > 0) - return of_platform_populate(dev->of_node, NULL, NULL, dev); + if (of_get_child_count(dev->of_node) > 0) { + ret = of_platform_populate(dev->of_node, NULL, NULL, dev); + if (ret) + goto err; + } return 0; err: |