diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-10 16:36:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-10 16:36:13 -0400 |
commit | ab138c031f72f6d030afa1a06a3a537e85ae843e (patch) | |
tree | 96dbd2725e1f9cc11ed5f4639c257744dfae090f /arch/sparc/kernel/time.c | |
parent | 90158d84eb20fa15e3c8010b570f3ea2c925121d (diff) |
sparc32: Need to close openned RTC device just like sparc64.
Otherwise we get refcount problems.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/time.c')
-rw-r--r-- | arch/sparc/kernel/time.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c index 698c45059fa5..fa54d585f558 100644 --- a/arch/sparc/kernel/time.c +++ b/arch/sparc/kernel/time.c | |||
@@ -337,9 +337,12 @@ static int sbus_do_settimeofday(struct timespec *tv) | |||
337 | static int set_rtc_mmss(unsigned long secs) | 337 | static int set_rtc_mmss(unsigned long secs) |
338 | { | 338 | { |
339 | struct rtc_device *rtc = rtc_class_open("rtc0"); | 339 | struct rtc_device *rtc = rtc_class_open("rtc0"); |
340 | int err = -1; | ||
340 | 341 | ||
341 | if (rtc) | 342 | if (rtc) { |
342 | return rtc_set_mmss(rtc, secs); | 343 | err = rtc_set_mmss(rtc, secs); |
344 | rtc_class_close(rtc); | ||
345 | } | ||
343 | 346 | ||
344 | return -1; | 347 | return err; |
345 | } | 348 | } |