driver core: Call in reversed order in device_platform_notify_remove()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 18 Aug 2023 13:36:54 +0000 (16:36 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Aug 2023 14:57:39 +0000 (16:57 +0200)
It's logically correct to call the removal notifiers in the reversed order
as it might be dependent to each other. Luckily, platform_notify_remove()
currently is not used and the others have no dependency use, but theoretically
it's still possible.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230818133654.767986-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/core.c

index eb3a93d..39f7a94 100644 (file)
@@ -2306,12 +2306,12 @@ static void device_platform_notify(struct device *dev)
 
 static void device_platform_notify_remove(struct device *dev)
 {
-       acpi_device_notify_remove(dev);
+       if (platform_notify_remove)
+               platform_notify_remove(dev);
 
        software_node_notify_remove(dev);
 
-       if (platform_notify_remove)
-               platform_notify_remove(dev);
+       acpi_device_notify_remove(dev);
 }
 
 /**