PM / wakeup: Set power.can_wakeup if wakeup_sysfs_add() fails
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 1 Aug 2017 23:32:44 +0000 (01:32 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 8 Aug 2017 15:11:48 +0000 (17:11 +0200)
commit820b9b0c093ebd40c4b8e44c0e84613c877f4948
treeeb8522137c8a0734d9bed7c87bcfc4961c06ac08
parentaae4e7a8bc44722fe70d58920a36916b1043195e
PM / wakeup: Set power.can_wakeup if wakeup_sysfs_add() fails

Currently, an error from wakeup_sysfs_add() in
device_set_wakeup_capable() causes the device's power.can_wakeup
flag to remain unset even though the device technically is capable
of signaling wakeup.

If wakeup_sysfs_add() fails user space may not be able to enable
the device to wake up the system from sleep states, but at least
for some devices that does not matter.

For this reason, set or clear power.can_wakeup upfront and if
wakeup_sysfs_add() returns an error, print a message to the log.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/wakeup.c