Message ID | 20180314073719.GA2470@mwanda |
---|---|
State | Rejected |
Headers | show |
Series | rtc: mxc_v2: unlock on error in mxc_rtc_set_alarm() | expand |
>From: Dan Carpenter [mailto:dan.carpenter@oracle.com] >Sent: Mittwoch, 14. März 2018 08:37 > >We need to unlock if time is more than U32_MAX. > you are right, that's a bug. But I would move the mxc_rtc_lock() entirely behind the (time > U32_MAX) check. IMHO that would make the code even cleaner. sorry for broken patch: > const time64_t time = rtc_tm_to_time64(&alrm->time); > struct mxc_rtc_data *pdata = dev_get_drvdata(dev); >- int ret = mxc_rtc_lock(pdata); >+ int ret; >- >- if (ret) >- return ret; > > if (time > U32_MAX) { > dev_err(dev, "Hopefully I am out of service by then :-(\n"); > return -EINVAL; > } >+ >+ ret = mxc_rtc_lock(pdata); >+ if (ret) >+ return ret; --- Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Beckhoff Registered office: Verl, Germany | Register court: Guetersloh HRA 7075
On Thu, Mar 15, 2018 at 11:12:04AM +0000, Patrick Brünn wrote: > >From: Dan Carpenter [mailto:dan.carpenter@oracle.com] > >Sent: Mittwoch, 14. März 2018 08:37 > > > >We need to unlock if time is more than U32_MAX. > > > you are right, that's a bug. > But I would move the mxc_rtc_lock() entirely behind the (time > U32_MAX) check. Yes, of course. I will resend. regards, dan carpenter
diff --git a/drivers/rtc/rtc-mxc_v2.c b/drivers/rtc/rtc-mxc_v2.c index 9e14efb990b2..90c9ab68688f 100644 --- a/drivers/rtc/rtc-mxc_v2.c +++ b/drivers/rtc/rtc-mxc_v2.c @@ -243,12 +243,14 @@ static int mxc_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) { const time64_t time = rtc_tm_to_time64(&alrm->time); struct mxc_rtc_data *pdata = dev_get_drvdata(dev); - int ret = mxc_rtc_lock(pdata); + int ret; + ret = mxc_rtc_lock(pdata); if (ret) return ret; if (time > U32_MAX) { + mxc_rtc_unlock(pdata); dev_err(dev, "Hopefully I am out of service by then :-(\n"); return -EINVAL; }
We need to unlock if time is more than U32_MAX. Fixes: 83c880f79e88 ("rtc: add mxc driver for i.MX53 SRTC") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>