2018-07-30 14:00:58

by Jia-Ju Bai

[permalink] [raw]
Subject: [PATCH] rtc: rtc-mrst: Replace mdelay() with msleep() in mrst_read_time()

mrst_read_time() is never called in atomic context.
It calls mdelay() to busily wait, which is not necessary.
mdelay() can be replaced with msleep().

This is found by a static analysis tool named DCNS written by myself.

Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/rtc/rtc-mrst.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c
index fcb9de5218b2..e4015f70f9fe 100644
--- a/drivers/rtc/rtc-mrst.c
+++ b/drivers/rtc/rtc-mrst.c
@@ -91,7 +91,7 @@ static int mrst_read_time(struct device *dev, struct rtc_time *time)
unsigned long flags;

if (vrtc_is_updating())
- mdelay(20);
+ msleep(20);

spin_lock_irqsave(&rtc_lock, flags);
time->tm_sec = vrtc_cmos_read(RTC_SECONDS);
--
2.17.0



2018-08-27 20:54:01

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH] rtc: rtc-mrst: Replace mdelay() with msleep() in mrst_read_time()

On 30/07/2018 21:59:03+0800, Jia-Ju Bai wrote:
> mrst_read_time() is never called in atomic context.
> It calls mdelay() to busily wait, which is not necessary.
> mdelay() can be replaced with msleep().
>
> This is found by a static analysis tool named DCNS written by myself.
>
> Signed-off-by: Jia-Ju Bai <[email protected]>
> ---
> drivers/rtc/rtc-mrst.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Applied, thanks.

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com