Re: [PATCH] watchdog: iTCO_wdt: Fix detection of SMI-off case

From: Guenter Roeck
Date: Mon Jul 26 2021 - 09:51:10 EST


On 7/26/21 5:05 AM, Jan Kiszka wrote:
On 26.07.21 14:03, Paolo Bonzini wrote:
On 26/07/21 13:46, Jan Kiszka wrote:
From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>

Obviously, the test needs to run against the register content, not its
address.

Fixes: cb011044e34c ("watchdog: iTCO_wdt: Account for rebooting on
second timeout")
Reported-by: Mantas Mikulėnas <grawity@xxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
---
  drivers/watchdog/iTCO_wdt.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/iTCO_wdt.c b/drivers/watchdog/iTCO_wdt.c
index b3f604669e2c..643c6c2d0b72 100644
--- a/drivers/watchdog/iTCO_wdt.c
+++ b/drivers/watchdog/iTCO_wdt.c
@@ -362,7 +362,7 @@ static int iTCO_wdt_set_timeout(struct
watchdog_device *wd_dev, unsigned int t)
       * Otherwise, the BIOS generally reboots when the SMI triggers.
       */
      if (p->smi_res &&
-        (SMI_EN(p) & (TCO_EN | GBL_SMI_EN)) != (TCO_EN | GBL_SMI_EN))
+        (inl(SMI_EN(p)) & (TCO_EN | GBL_SMI_EN)) != (TCO_EN |
GBL_SMI_EN))
          tmrval /= 2;
        /* from the specs: */


Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx

(the latter because cb011044e34c has been picked up by stable kernels
already).


Thanks. Originally wanted to add stable myself, but I'm still unsure
whether this is the privilege of the subsystem maintainer or should also
be done by contributors.


Normally it is done by maintainers.

Guenter