pinctrl: microchip-sgpio: Put fwnode in error case during ->probe()

device_for_each_child_node() bumps a reference counting of a returned variable.
We have to balance it whenever we return to the caller.

Fixes: 7e5ea974e61c ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
Cc: Lars Povlsen <lars.povlsen@microchip.com>
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20210606191940.29312-1-andy.shevchenko@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by Andy Shevchenko and committed by Linus Walleij 76b7f8fa 009c9aa5

Changed files
+3 -1
drivers
+3 -1
drivers/pinctrl/pinctrl-microchip-sgpio.c
··· 845 845 i = 0; 846 846 device_for_each_child_node(dev, fwnode) { 847 847 ret = microchip_sgpio_register_bank(dev, priv, fwnode, i++); 848 - if (ret) 848 + if (ret) { 849 + fwnode_handle_put(fwnode); 849 850 return ret; 851 + } 850 852 } 851 853 852 854 if (priv->in.gpio.ngpio != priv->out.gpio.ngpio) {