From 10d790d1fa2e9487053f9a3a289ff198736fa964 Mon Sep 17 00:00:00 2001 From: Jerry Hoemann Date: Fri, 21 Sep 2018 14:50:39 -0600 Subject: watchdog: hpwdt: Disable PreTimeout when Timeout is smaller During module install, disable pretimeout if the requested timeout value is not greater than the minimal pretimeout value that is supported by hardware. This makes the module load handling of pretimeout consistent with the ioctl handling of pretimeout. Signed-off-by: Jerry Hoemann Reviewed-by: Guenter Roeck Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck --- drivers/watchdog/hpwdt.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/watchdog/hpwdt.c') diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c index 7af358b3e278..93562304f7aa 100644 --- a/drivers/watchdog/hpwdt.c +++ b/drivers/watchdog/hpwdt.c @@ -311,6 +311,10 @@ 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); + if (pretimeout && hpwdt_dev.timeout <= PRETIMEOUT_SEC) { + dev_warn(&dev->dev, "timeout <= pretimeout. Setting pretimeout to zero\n"); + pretimeout = 0; + } hpwdt_dev.pretimeout = pretimeout ? PRETIMEOUT_SEC : 0; hpwdt_dev.parent = &dev->dev; -- cgit v1.2.3