Verified Commit dfadac88 authored by Jan Kiszka's avatar Jan Kiszka Committed by David Runge
Browse files

watchdog: iTCO_wdt: Fix detection of SMI-off case

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

Fixes: cb011044

 ("watchdog: iTCO_wdt: Account for rebooting on second timeout")
Cc: stable@vger.kernel.org
Reported-by: Mantas Mikulėnas's avatarMantas Mikulėnas <grawity@gmail.com>
Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Tested-by: Mantas Mikulėnas's avatarMantas Mikulėnas <grawity@gmail.com>
Link: https://lore.kernel.org/r/d84f8e06-f646-8b43-d063-fb11f4827044@siemens.com

Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@linux-watchdog.org>
Fixes: https://bugs.archlinux.org/task/72045 (?)
parent 49c1f5bb
...@@ -362,7 +362,7 @@ static int iTCO_wdt_set_timeout(struct watchdog_device *wd_dev, unsigned int t) ...@@ -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. * Otherwise, the BIOS generally reboots when the SMI triggers.
*/ */
if (p->smi_res && 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; tmrval /= 2;
/* from the specs: */ /* from the specs: */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment