diff options
Diffstat (limited to 'drivers/base/power')
| -rw-r--r-- | drivers/base/power/wakeup.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c index 2d56f4113ae7..eb1bd2ecad8b 100644 --- a/drivers/base/power/wakeup.c +++ b/drivers/base/power/wakeup.c | |||
| @@ -318,10 +318,16 @@ int device_init_wakeup(struct device *dev, bool enable) | |||
| 318 | { | 318 | { |
| 319 | int ret = 0; | 319 | int ret = 0; |
| 320 | 320 | ||
| 321 | if (!dev) | ||
| 322 | return -EINVAL; | ||
| 323 | |||
| 321 | if (enable) { | 324 | if (enable) { |
| 322 | device_set_wakeup_capable(dev, true); | 325 | device_set_wakeup_capable(dev, true); |
| 323 | ret = device_wakeup_enable(dev); | 326 | ret = device_wakeup_enable(dev); |
| 324 | } else { | 327 | } else { |
| 328 | if (dev->power.can_wakeup) | ||
| 329 | device_wakeup_disable(dev); | ||
| 330 | |||
| 325 | device_set_wakeup_capable(dev, false); | 331 | device_set_wakeup_capable(dev, false); |
| 326 | } | 332 | } |
| 327 | 333 | ||
