pinctrl: stm32: Fix up errorpath after merge
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 5 May 2022 14:24:06 +0000 (16:24 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 5 May 2022 14:24:06 +0000 (16:24 +0200)
When merging the for_each_gpiochip_node() changes, I made
some mistakes by not disabling the clocks on the errorpath,
fix it up.

Fixes: a0912083086d ("Merge tag 'intel-gpio-v5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel into devel")
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Fabien Dessenne <fabien.dessenne@foss.st.com>
Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/stm32/pinctrl-stm32.c

index 0f7d608151ff578bc31265fed5d54aa5aaafd8b7..88da8ac0b252ade9103d9b9f074a6f890ebe4f26 100644 (file)
@@ -1614,6 +1614,10 @@ int stm32_pctl_probe(struct platform_device *pdev)
                ret = stm32_gpiolib_register_bank(pctl, child);
                if (ret) {
                        fwnode_handle_put(child);
+
+                       for (i = 0; i < pctl->nbanks; i++)
+                               clk_disable_unprepare(pctl->banks[i].clk);
+
                        return ret;
                }