On 07/02/2018 12:30 AM, Tian, Baofeng wrote:
From: "Tian, Baofeng" <baofeng.tian@xxxxxxxxx <mailto:baofeng.tian@xxxxxxxxx>> Subject: [PATCH] watchdog: add module parameter "force_no_reboot" for iTCO Setting "force_no_reboot" parameter to true (y/Y/1) will have the effect to prevent to reset the NO_REBOOT flag thus preventing the iTCO to reboot the platform, if not set or set to false, then system will reboot after about 30s. Signed-off-by: Tian, Baofeng <baofeng.tian@xxxxxxxxx <mailto:baofeng.tian@xxxxxxxxx>>
Your e-mail address is messed up.
--- drivers/watchdog/iTCO_wdt.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/watchdog/iTCO_wdt.c b/drivers/watchdog/iTCO_wdt.c index 347f038..255318b 100644 --- a/drivers/watchdog/iTCO_wdt.c +++ b/drivers/watchdog/iTCO_wdt.c @@ -131,6 +131,11 @@ module_param(turn_SMI_watchdog_clear_off, int, 0); MODULE_PARM_DESC(turn_SMI_watchdog_clear_off, "Turn off SMI clearing watchdog (depends on TCO-version)(default=1)"); +static bool force_no_reboot; +module_param(force_no_reboot, bool, 0); +MODULE_PARM_DESC(force_no_reboot, + "Prevents the watchdog rebooting the platform (default=0)"); + /* * Some TCO specific functions */ @@ -243,6 +248,10 @@ static int iTCO_wdt_start(struct watchdog_device *wd_dev) struct iTCO_wdt_private *p = watchdog_get_drvdata(wd_dev); unsigned int val; + /* force_no_reboot will prevent to unset NO_REBOOT bit */ + if (force_no_reboot) + return -EIO; +
It seems to me that this flag prevents the watchdog from being started, and on top it would return an unreasonable error (-EIO). I don't see the point of this patch, sorry. Guenter
spin_lock(&p->io_lock); iTCO_vendor_pre_start(p->smi_res, wd_dev->timeout); @@ -250,7 +259,7 @@ static int iTCO_wdt_start(struct watchdog_device *wd_dev) /* disable chipset's NO_REBOOT bit */ if (p->update_no_reboot_bit(p->no_reboot_priv, false)) { spin_unlock(&p->io_lock); - pr_err("failed to reset NO_REBOOT flag, reboot disabled by hardware/BIOS\n"); + pr_err("failed to reset NO_REBOOT flag, reboot disabled by hardware/BIOS/rc_cmd\n"); return -EIO; } -- 2.7.4
-- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html