watchdog: hpwdt: Initialize pretimeout from module parameter.
authorJerry Hoemann <jerry.hoemann@hpe.com>
Wed, 8 Aug 2018 19:13:23 +0000 (13:13 -0600)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Tue, 2 Oct 2018 11:32:21 +0000 (13:32 +0200)
When the pretimeout is specified as a module parameter, the
value should be reflected in hpwdt_dev.pretimeout.  The default
(on) case is correct.  But, when disabling pretimeout, the value
should be set to zero in hpwdt_dev.

When compiling w/o CONFIG_HPWDT_NMI_DECODING defined, the pretimeout
module parameter is ignored and the value internally will be 0.

Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/hpwdt.c

index 9dc62a4..fae9364 100644 (file)
@@ -205,9 +205,7 @@ static struct watchdog_device hpwdt_dev = {
        .min_timeout    = 1,
        .max_timeout    = HPWDT_MAX_TIMER,
        .timeout        = DEFAULT_MARGIN,
-#ifdef CONFIG_HPWDT_NMI_DECODING
        .pretimeout     = PRETIMEOUT_SEC,
-#endif
 };
 
 
@@ -313,6 +311,8 @@ static int hpwdt_init_one(struct pci_dev *dev,
        if (watchdog_init_timeout(&hpwdt_dev, soft_margin, NULL))
                dev_warn(&dev->dev, "Invalid soft_margin: %d.\n", soft_margin);
 
+       hpwdt_dev.pretimeout = pretimeout ? PRETIMEOUT_SEC : 0;
+
        hpwdt_dev.parent = &dev->dev;
        retval = watchdog_register_device(&hpwdt_dev);
        if (retval < 0) {