aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/time.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-09-10 16:36:13 -0400
committerDavid S. Miller <davem@davemloft.net>2008-09-10 16:36:13 -0400
commitab138c031f72f6d030afa1a06a3a537e85ae843e (patch)
tree96dbd2725e1f9cc11ed5f4639c257744dfae090f /arch/sparc/kernel/time.c
parent90158d84eb20fa15e3c8010b570f3ea2c925121d (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.c9
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)
337static int set_rtc_mmss(unsigned long secs) 337static 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}