clk: qcom: gdsc: Release pm subdomains in reverse add order
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Fri, 17 Jan 2025 13:54:07 +0000 (13:54 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 08:45:33 +0000 (10:45 +0200)
commit 0e6dfde439df0bb977cddd3cf7fff150a084a9bf upstream.

gdsc_unregister() should release subdomains in the reverse order to the
order in which those subdomains were added.

I've made this patch a standalone patch because it facilitates a subsequent
fix to stable.

Fixes: 1b771839de05 ("clk: qcom: gdsc: enable optional power domain support")
Cc: stable@vger.kernel.org
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Link: https://lore.kernel.org/r/20250117-b4-linux-next-24-11-18-clock-multiple-power-domains-v10-1-13f2bb656dad@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/clk/qcom/gdsc.c

index 5358e28122abe48d2b07d05a3794c96069750766..50926ddeedfd92babefb59ae65963752327f6c94 100644 (file)
@@ -525,7 +525,7 @@ void gdsc_unregister(struct gdsc_desc *desc)
        size_t num = desc->num;
 
        /* Remove subdomains */
-       for (i = 0; i < num; i++) {
+       for (i = num - 1; i >= 0; i--) {
                if (!scs[i])
                        continue;
                if (scs[i]->parent)