Message ID | 1320747253-9281-1-git-send-email-jhbird.choi@samsung.com |
---|---|
State | Accepted |
Headers | show |
jhbird.choi@samsung.com wrote: > > From: Jonghwan Choi <jhbird.choi@samsung.com> > > If an error occurs after clock is enabled, it can become unbalanced. > > Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com> Cc: stable@kernel.org Acked-by: Kukjin Kim <kgene.kim@samsung.com> (Cc'ed Andrew Morton) Hi Andrew, If you're ok with this, could you please pick this up in your tree? Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. > --- > drivers/rtc/rtc-s3c.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c > index 7639ab9..5b979d9 100644 > --- a/drivers/rtc/rtc-s3c.c > +++ b/drivers/rtc/rtc-s3c.c > @@ -202,7 +202,6 @@ static int s3c_rtc_settime(struct device *dev, struct rtc_time > *tm) > void __iomem *base = s3c_rtc_base; > int year = tm->tm_year - 100; > > - clk_enable(rtc_clk); > pr_debug("set time %04d.%02d.%02d %02d:%02d:%02d\n", > 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, > tm->tm_hour, tm->tm_min, tm->tm_sec); > @@ -214,6 +213,7 @@ static int s3c_rtc_settime(struct device *dev, struct rtc_time > *tm) > return -EINVAL; > } > > + clk_enable(rtc_clk); > writeb(bin2bcd(tm->tm_sec), base + S3C2410_RTCSEC); > writeb(bin2bcd(tm->tm_min), base + S3C2410_RTCMIN); > writeb(bin2bcd(tm->tm_hour), base + S3C2410_RTCHOUR); > -- > 1.7.1
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index 7639ab9..5b979d9 100644 --- a/drivers/rtc/rtc-s3c.c +++ b/drivers/rtc/rtc-s3c.c @@ -202,7 +202,6 @@ static int s3c_rtc_settime(struct device *dev, struct rtc_time *tm) void __iomem *base = s3c_rtc_base; int year = tm->tm_year - 100; - clk_enable(rtc_clk); pr_debug("set time %04d.%02d.%02d %02d:%02d:%02d\n", 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); @@ -214,6 +213,7 @@ static int s3c_rtc_settime(struct device *dev, struct rtc_time *tm) return -EINVAL; } + clk_enable(rtc_clk); writeb(bin2bcd(tm->tm_sec), base + S3C2410_RTCSEC); writeb(bin2bcd(tm->tm_min), base + S3C2410_RTCMIN); writeb(bin2bcd(tm->tm_hour), base + S3C2410_RTCHOUR);