>> --- a/kernel/power/main.c >> +++ b/kernel/power/main.c >> @@ -42,6 +42,36 @@ int pm_notifier_call_chain(unsigned long val) >> return notifier_to_errno(ret); >> } >> >> +#ifdef CONFIG_PM_NOTIFIER_ERROR_INJECTION >> + >> +static struct err_inject_notifier_block err_inject_pm_notifier = { >> + .actions = { >> + { ERR_INJECT_NOTIFIER_ACTION(PM_HIBERNATION_PREPARE) }, >> + { ERR_INJECT_NOTIFIER_ACTION(PM_SUSPEND_PREPARE) }, >> + { ERR_INJECT_NOTIFIER_ACTION(PM_RESTORE_PREPARE) }, >> + {} > > Why have you omitted the PM_POST_* actions? Because the callbacks of PM_POST_* are not supposed to fail (i.e. the return value of pm_notifier_call() is ignored). >> --- a/lib/Kconfig.debug >> +++ b/lib/Kconfig.debug >> @@ -1043,6 +1043,14 @@ config CPU_NOTIFIER_ERROR_INJECTION >> # echo 0 > /sys/devices/system/cpu/cpu1/online >> bash: echo: write error: Operation not permitted >> >> +config PM_NOTIFIER_ERROR_INJECTION >> + bool "PM notifier error injection" >> + depends on PM_DEBUG && NOTIFIER_ERROR_INJECTION >> + help >> + This option provides the ability to inject artifical errors to >> + PM notifier chain callbacks. It is controlled through debugfs >> + interface under /sys/kernel/debug/pm-notifier-error-inject/ > > I'm not sure the help is necessary. I think it should be selected > automatically if both PM_DEBUG and NOTIFIER_ERROR_INJECTION are set. OK, I'll try to tweak the option to be better. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm