]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
gpiolib: Fix the error path order in gpiochip_add_data_with_key()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 21 Feb 2024 19:28:46 +0000 (21:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Mar 2024 14:45:19 +0000 (14:45 +0000)
[ Upstream commit e4aec4daa8c009057b5e063db1b7322252c92dc8 ]

After shuffling the code, error path wasn't updated correctly.
Fix it here.

Fixes: 2f4133bb5f14 ("gpiolib: No need to call gpiochip_remove_pin_ranges() twice")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpiolib.c

index 6d3e3454a6ed6d27de86d121df705bdecb0fd1ec..f646df7f1b41ab407be173f82028eed323becdd5 100644 (file)
@@ -815,11 +815,11 @@ err_remove_irqchip_mask:
        gpiochip_irqchip_free_valid_mask(gc);
 err_remove_acpi_chip:
        acpi_gpiochip_remove(gc);
+       gpiochip_remove_pin_ranges(gc);
 err_remove_of_chip:
        gpiochip_free_hogs(gc);
        of_gpiochip_remove(gc);
 err_free_gpiochip_mask:
-       gpiochip_remove_pin_ranges(gc);
        gpiochip_free_valid_mask(gc);
        if (gdev->dev.release) {
                /* release() has been registered by gpiochip_setup_dev() */