diff options
Diffstat (limited to 'kernel/time/alarmtimer.c')
| -rw-r--r-- | kernel/time/alarmtimer.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index e5db9b00751..c6027fe9a4e 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -675,8 +675,14 @@ static int __init alarmtimer_init_late(void)  	/* Find an rtc device and init the rtc_timer */  	dev = class_find_device(rtc_class, NULL, &str, has_wakealarm);  	/* If we have a device then str is valid. See has_wakealarm() */ -	if (dev) +	if (dev) {  		rtcdev = rtc_class_open(str); +		/* +		 * Drop the reference we got in class_find_device, +		 * rtc_open takes its own. +		 */ +		put_device(dev); +	}  	if (!rtcdev) {  		printk(KERN_WARNING "No RTC device found, ALARM timers will"  			" not wake from suspend");  |