diff mbox series

watchdog: aspeed: fix hardware timeout calculation

Message ID 20210417034249.5978-1-rentao.bupt@gmail.com
State New
Headers show
Series watchdog: aspeed: fix hardware timeout calculation | expand

Commit Message

Tao Ren April 17, 2021, 3:42 a.m. UTC
From: Tao Ren <rentao.bupt@gmail.com>

Fix hardware timeout calculation in aspeed_wdt_set_timeout function to
ensure the reload value does not exceed the hardware limit.

Fixes: efa859f7d786 ("watchdog: Add Aspeed watchdog driver")
Reported-by: Amithash Prasad <amithash@fb.com>
Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
---
 drivers/watchdog/aspeed_wdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Tao Ren May 21, 2021, 1:51 a.m. UTC | #1
Hi Wim,

Not sure if I looked at the wrong repository/branch, and looks like the
patch is not included. Do you have any further suggestions? Or should I
send out v2 in case it's missed?


Thanks,

Tao

On Fri, Apr 16, 2021 at 09:20:48PM -0700, Guenter Roeck wrote:
> On Fri, Apr 16, 2021 at 08:42:49PM -0700, rentao.bupt@gmail.com wrote:

> > From: Tao Ren <rentao.bupt@gmail.com>

> > 

> > Fix hardware timeout calculation in aspeed_wdt_set_timeout function to

> > ensure the reload value does not exceed the hardware limit.

> > 

> > Fixes: efa859f7d786 ("watchdog: Add Aspeed watchdog driver")

> > Reported-by: Amithash Prasad <amithash@fb.com>

> > Signed-off-by: Tao Ren <rentao.bupt@gmail.com>

> 

> Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> 

> > ---

> >  drivers/watchdog/aspeed_wdt.c | 2 +-

> >  1 file changed, 1 insertion(+), 1 deletion(-)

> > 

> > diff --git a/drivers/watchdog/aspeed_wdt.c b/drivers/watchdog/aspeed_wdt.c

> > index 7e00960651fa..507fd815d767 100644

> > --- a/drivers/watchdog/aspeed_wdt.c

> > +++ b/drivers/watchdog/aspeed_wdt.c

> > @@ -147,7 +147,7 @@ static int aspeed_wdt_set_timeout(struct watchdog_device *wdd,

> >  

> >  	wdd->timeout = timeout;

> >  

> > -	actual = min(timeout, wdd->max_hw_heartbeat_ms * 1000);

> > +	actual = min(timeout, wdd->max_hw_heartbeat_ms / 1000);

> >  

> >  	writel(actual * WDT_RATE_1MHZ, wdt->base + WDT_RELOAD_VALUE);

> >  	writel(WDT_RESTART_MAGIC, wdt->base + WDT_RESTART);

> > -- 

> > 2.17.1

> >
Guenter Roeck May 21, 2021, 2:44 a.m. UTC | #2
On Thu, May 20, 2021 at 06:51:53PM -0700, Tao Ren wrote:
> Hi Wim,

> 

> Not sure if I looked at the wrong repository/branch, and looks like the

> patch is not included. Do you have any further suggestions? Or should I

> send out v2 in case it's missed?

> 


Wim didn't send a pull request in this release cycle. I have the patch in
my watchdog-next branch, so he'll hopefully pick it up from there at some
point.

Resending the patch would just create noise at this point; please don't
do that.

Guenter
Tao Ren May 21, 2021, 2:59 a.m. UTC | #3
On Thu, May 20, 2021 at 07:44:12PM -0700, Guenter Roeck wrote:
> On Thu, May 20, 2021 at 06:51:53PM -0700, Tao Ren wrote:

> > Hi Wim,

> > 

> > Not sure if I looked at the wrong repository/branch, and looks like the

> > patch is not included. Do you have any further suggestions? Or should I

> > send out v2 in case it's missed?

> > 

> 

> Wim didn't send a pull request in this release cycle. I have the patch in

> my watchdog-next branch, so he'll hopefully pick it up from there at some

> point.

> 

> Resending the patch would just create noise at this point; please don't

> do that.

> 

> Guenter


Got it. Thanks Guenter.

- Tao
diff mbox series

Patch

diff --git a/drivers/watchdog/aspeed_wdt.c b/drivers/watchdog/aspeed_wdt.c
index 7e00960651fa..507fd815d767 100644
--- a/drivers/watchdog/aspeed_wdt.c
+++ b/drivers/watchdog/aspeed_wdt.c
@@ -147,7 +147,7 @@  static int aspeed_wdt_set_timeout(struct watchdog_device *wdd,
 
 	wdd->timeout = timeout;
 
-	actual = min(timeout, wdd->max_hw_heartbeat_ms * 1000);
+	actual = min(timeout, wdd->max_hw_heartbeat_ms / 1000);
 
 	writel(actual * WDT_RATE_1MHZ, wdt->base + WDT_RELOAD_VALUE);
 	writel(WDT_RESTART_MAGIC, wdt->base + WDT_RESTART);