Hi, On Mon, Aug 26, 2024 at 12:53:01AM -0700, Oleksandr Ocheretnyi wrote: > Commit da23b6faa8bf ("watchdog: iTCO: Add support for Cannon Lake > PCH iTCO") does not ignore NMI_NOW bit on write operation to TCO1_CNT > register what causes unexpected NMIs due to NMI_NOW bit inversion > during regular crashkernel's workflow with following logs: > > iTCO_vendor_support: vendor-support=0 > iTCO_wdt iTCO_wdt: unable to reset NO_REBOOT flag, device > disabled by hardware/BIOS > > This change clears NMI_NOW bit in the TCO1_CNT register to have no > effect on NMI_NOW bit inversion what can cause NMI immediately. > > Fixes: da23b6faa8bf ("watchdog: iTCO: Add support for Cannon Lake PCH iTCO") > Signed-off-by: Oleksandr Ocheretnyi <oocheret@xxxxxxxxx> > --- > 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 264857d314da..679c115ef7d3 100644 > --- a/drivers/watchdog/iTCO_wdt.c > +++ b/drivers/watchdog/iTCO_wdt.c > @@ -224,7 +224,7 @@ static int update_no_reboot_bit_cnt(void *priv, bool set) > val |= BIT(0); > else > val &= ~BIT(0); > - outw(val, TCO1_CNT(p)); > + outw(val & ~BIT(8), TCO1_CNT(p)); I suggest adding some #define for the magical number 8 so that it is easier for anyone looking at this driver to figure out what it is doing. Otherwise looks good to me, thanks! > newval = inw(TCO1_CNT(p)); > > /* make sure the update is successful */ > -- > 2.39.3