mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 00:00:52 +07:00
Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout"
This reverts commit 39ed17de8c
which is
commit cb011044e34c293e139570ce5c01aed66a34345c upstream.
It is reported to cause problems with systems and probably should not
have been backported in the first place :(
Link: https://lore.kernel.org/r/20210803165108.4154cd52@endymion
Reported-by: Jean Delvare <jdelvare@suse.de>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d8ae1a4fbc
commit
fdfa3484bd
@ -73,8 +73,6 @@
|
|||||||
#define TCOBASE(p) ((p)->tco_res->start)
|
#define TCOBASE(p) ((p)->tco_res->start)
|
||||||
/* SMI Control and Enable Register */
|
/* SMI Control and Enable Register */
|
||||||
#define SMI_EN(p) ((p)->smi_res->start)
|
#define SMI_EN(p) ((p)->smi_res->start)
|
||||||
#define TCO_EN (1 << 13)
|
|
||||||
#define GBL_SMI_EN (1 << 0)
|
|
||||||
|
|
||||||
#define TCO_RLD(p) (TCOBASE(p) + 0x00) /* TCO Timer Reload/Curr. Value */
|
#define TCO_RLD(p) (TCOBASE(p) + 0x00) /* TCO Timer Reload/Curr. Value */
|
||||||
#define TCOv1_TMR(p) (TCOBASE(p) + 0x01) /* TCOv1 Timer Initial Value*/
|
#define TCOv1_TMR(p) (TCOBASE(p) + 0x01) /* TCOv1 Timer Initial Value*/
|
||||||
@ -359,12 +357,8 @@ static int iTCO_wdt_set_timeout(struct watchdog_device *wd_dev, unsigned int t)
|
|||||||
|
|
||||||
tmrval = seconds_to_ticks(p, t);
|
tmrval = seconds_to_ticks(p, t);
|
||||||
|
|
||||||
/*
|
/* For TCO v1 the timer counts down twice before rebooting */
|
||||||
* If TCO SMIs are off, the timer counts down twice before rebooting.
|
if (p->iTCO_version == 1)
|
||||||
* 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))
|
|
||||||
tmrval /= 2;
|
tmrval /= 2;
|
||||||
|
|
||||||
/* from the specs: */
|
/* from the specs: */
|
||||||
@ -529,7 +523,7 @@ static int iTCO_wdt_probe(struct platform_device *pdev)
|
|||||||
* Disables TCO logic generating an SMI#
|
* Disables TCO logic generating an SMI#
|
||||||
*/
|
*/
|
||||||
val32 = inl(SMI_EN(p));
|
val32 = inl(SMI_EN(p));
|
||||||
val32 &= ~TCO_EN; /* Turn off SMI clearing watchdog */
|
val32 &= 0xffffdfff; /* Turn off SMI clearing watchdog */
|
||||||
outl(val32, SMI_EN(p));
|
outl(val32, SMI_EN(p));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user