diff options
Diffstat (limited to 'drivers/base/power/wakeup.c')
| -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 2d56f4113ae..eb1bd2ecad8 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)  {  	int ret = 0; +	if (!dev) +		return -EINVAL; +  	if (enable) {  		device_set_wakeup_capable(dev, true);  		ret = device_wakeup_enable(dev);  	} else { +		if (dev->power.can_wakeup) +			device_wakeup_disable(dev); +  		device_set_wakeup_capable(dev, false);  	}  | 
