diff options
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/core.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index 8dde934f8d15..755451f684bc 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -2664,7 +2664,11 @@ void device_shutdown(void) pm_runtime_get_noresume(dev); pm_runtime_barrier(dev); - if (dev->bus && dev->bus->shutdown) { + if (dev->class && dev->class->shutdown) { + if (initcall_debug) + dev_info(dev, "shutdown\n"); + dev->class->shutdown(dev); + } else if (dev->bus && dev->bus->shutdown) { if (initcall_debug) dev_info(dev, "shutdown\n"); dev->bus->shutdown(dev); |