diff options
author | Johan Hovold <johan@kernel.org> | 2016-11-01 06:49:56 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-11-02 00:10:04 -0400 |
commit | ceb75787bc75d0a7b88519ab8a68067ac690f55a (patch) | |
tree | 8f671bacb6cc8cfdbcf7b79d39b0d6d073fda3c5 /kernel | |
parent | a909d3e636995ba7c349e2ca5dbb528154d4ac30 (diff) |
PM / sleep: fix device reference leak in test_suspend
Make sure to drop the reference taken by class_find_device() after
opening the RTC device.
Fixes: 77437fd4e61f (pm: boot time suspend selftest)
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/suspend_test.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/power/suspend_test.c b/kernel/power/suspend_test.c index 084452e34a12..bdff5ed57f10 100644 --- a/kernel/power/suspend_test.c +++ b/kernel/power/suspend_test.c | |||
@@ -203,8 +203,10 @@ static int __init test_suspend(void) | |||
203 | 203 | ||
204 | /* RTCs have initialized by now too ... can we use one? */ | 204 | /* RTCs have initialized by now too ... can we use one? */ |
205 | dev = class_find_device(rtc_class, NULL, NULL, has_wakealarm); | 205 | dev = class_find_device(rtc_class, NULL, NULL, has_wakealarm); |
206 | if (dev) | 206 | if (dev) { |
207 | rtc = rtc_class_open(dev_name(dev)); | 207 | rtc = rtc_class_open(dev_name(dev)); |
208 | put_device(dev); | ||
209 | } | ||
208 | if (!rtc) { | 210 | if (!rtc) { |
209 | printk(warn_no_rtc); | 211 | printk(warn_no_rtc); |
210 | return 0; | 212 | return 0; |