gpio: sim: Deactivate device in reversed order
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 9 Mar 2023 18:46:35 +0000 (20:46 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 10 Mar 2023 15:54:01 +0000 (16:54 +0100)
Run the steps to deactivate device in the reserved order to what
it has been done in gpio_sim_device_activate_unlocked().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-sim.c

index e5dfd636c63c1ca99d611cfe560ef8e1d2782ab5..a1c8702f362ce76ce7b1ae96ad0b3d378eec0ab6 100644 (file)
@@ -953,9 +953,9 @@ static void gpio_sim_device_deactivate_unlocked(struct gpio_sim_device *dev)
 
        swnode = dev_fwnode(&dev->pdev->dev);
        platform_device_unregister(dev->pdev);
+       gpio_sim_remove_hogs(dev);
        gpio_sim_remove_swnode_recursive(swnode);
        dev->pdev = NULL;
-       gpio_sim_remove_hogs(dev);
 }
 
 static ssize_t