On Sat, 12 Apr 2008 11:53:11 +0200 Pavel Machek <pavel@xxxxxx> wrote: > > sysdevs should be suspended/resumed with IRQs disabled; if something > reenables them by mistake, we want to know early. > > Signed-off-by: Pavel Machek <pavel@xxxxxxx> > > --- > commit fc3bccaf69e6c05464e7154369639bd5c96ccdc1 > tree bf960093ddb840242a00b4ec456ec79472b1c2ad > parent 308e9d5309f378209e931f63f729806ec0a4d9f1 > author Pavel <pavel@xxxxxxxxxx> Sat, 12 Apr 2008 11:52:05 +0200 > committer Pavel <pavel@xxxxxxxxxx> Sat, 12 Apr 2008 11:52:05 +0200 > > drivers/ata/ahci.c | 2 +- > drivers/base/sys.c | 3 +++ > 2 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/drivers/base/sys.c b/drivers/base/sys.c > index 8e13fd9..e214467 100644 > --- a/drivers/base/sys.c > +++ b/drivers/base/sys.c > @@ -22,6 +22,7 @@ #include <linux/string.h> > #include <linux/pm.h> > #include <linux/device.h> > #include <linux/mutex.h> > +#include <linux/hardirq.h> > > #include "base.h" > > @@ -367,6 +368,7 @@ int sysdev_suspend(pm_message_t state) > /* Call auxillary drivers first */ > list_for_each_entry(drv, &cls->drivers, entry) { > if (drv->suspend) { > + WARN_ON(!irqs_disabled()); > ret = drv->suspend(sysdev, state); > if (ret) > goto aux_driver; Is this warning ever triggers I expect we'll really really wish that we'd done the check _after_ calling drv->suspend, and that we had also done a print_symbol(drv->suspend). No? > @@ -442,6 +444,7 @@ int sysdev_resume(void) > list_for_each_entry(sysdev, &cls->kset.list, kobj.entry) { > pr_debug(" %s\n", kobject_name(&sysdev->kobj)); > > + WARN_ON(!irqs_disabled()); > __sysdev_resume(sysdev); > } > } Perhaps here too. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm