08 Jul, 2019
6 commits
-
Bump driver number to reflect recent changes.
Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Instead of unconditionally stopping the watchdog timer after receipt of
a pretimeout NMI, reprogram the timeout based upon module parameter
kdumptimeout.The provides a more flexible override than the depricated allow_kdump.
Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Instead of stopping the hw timer during probe, have the core update
the timer if the timer is already running.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Set max_hw_heartbeat_ms instead of max_timeout so that user client can
set timeout range in excess of what the underlying hardware supports.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Have the WD core stop the watchdog on unregister instead of explicitly
calling hpwdt_stop() in hpwdt_exit().Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
The core will print out details now.
Signed-off-by: Wolfram Sang
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
19 Jun, 2019
1 commit
-
Based on 2 normalized pattern(s):
this program is free software you can redistribute it and or modify
it under the terms of the gnu general public license version 2 as
published by the free software foundationthis program is free software you can redistribute it and or modify
it under the terms of the gnu general public license version 2 as
published by the free software foundation #extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-only
has been chosen to replace the boilerplate/reference in 4122 file(s).
Signed-off-by: Thomas Gleixner
Reviewed-by: Enrico Weigelt
Reviewed-by: Kate Stewart
Reviewed-by: Allison Randal
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
Signed-off-by: Greg Kroah-Hartman
06 May, 2019
1 commit
-
The core will print out details now.
Reviewed-by: Guenter Roeck
Signed-off-by: Wolfram Sang
Tested-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
22 Dec, 2018
3 commits
-
Bump version number to reflect recent minor changes.
Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Do not claim when SSID 0x0289 as the watchdog features
are not enabled/validated by the firmware.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Instead of having explicit if statments excluding devices,
use a pci_device_id table of devices to blacklist.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
02 Oct, 2018
6 commits
-
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 -
Bump version number to reflect recent bug fixes.
Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Add module parameter "timeout" as an alias to "soft_margin."
This aligns hpwdt usage more closely with other WDT while
retaining backwards compatibility.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Print module parameters when the driver is loaded.
Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
The hwpdt driver is overloaded for handling both the iLO
watchdog and the explicit "Generate NMI to System" virutal
button. Hence NMI handler needs to claim NMI resulting
from the virutal button.Claim if iLO generated accommodating firmware that might
set wrong bit.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
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
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
22 May, 2018
1 commit
-
On iLO5 going forward we want to return and not claim the NMI, if
the NMI was NOT gnerated by the iLO as a result of the watchdog
timing out or an explicit generate NMI.The sense of the test in is inverted and prevents hpwdt_pretimeout
from claiming NMIs when it should.Signed-off-by: Jerry Hoemann
Fixes: a042229a18ac ("watchdog: hpwdt: Update nmi_panic message.")
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
04 Mar, 2018
8 commits
-
Update driver version number to reflect changes.
Signed-off-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Add a few dynamic debug messages to aid in module level debug.
Signed-off-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Make whether or not the hpwdt watchdog delivers a pretimeout NMI
programable by the user.The underlying iLO hardware is programmable as to whether or not
a pre-timeout NMI is delivered to the system before the iLO resets
the system. However, the iLO does not allow for programming the
length of time that NMI is delivered before the system is reset.By watchdog API, in hpwdt_set_pretimeout a val == 0 disables the NMI.
When val != 0, hpwdt_set_pretimeout will enable the pretimeout NMI
provided the current timeout is greator than the HW specified
pretimeout length. Otherwise an error is returned.In set_timeout, if the new timeout is
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
The intent of this parameter is unclear and it sets up a
race between the reset of the system by ASR and crashdump.The length of time between receipt of the pretimeout NMI
and the ASR reset of the system is fixed by hardware.Turning the parameter off doesn't necessairly prevent a crash dump.
Also, having the ASR reset occur while the system is crash dumping
doesn't imply that the dump was hung given the short duration
between the NMI and the reset.This parameter is not a substitute for having a architected watchdog
crashdump hang detection paridigm.Signed-off-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Modify prior change to not claim an NMI unless originated
from iLO to apply only to iLO5 and later going forward.
This restores hpwdt traditional behavior of calling panic
if the NMI is NMI_IO_CHECK, NMI_SERR, or NMI_UNKNOWN for
legacy hardware.Signed-off-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Follow Documentation/watchdog/convert_drivers_to_kernel_api.txt to
convert hpwdt from legacy watchdog driver to use the watchdog core.Removed functions: hpwdt_open, hpwdt_release, hpwdt_write, hpwdt_ioctl
Removed data structures: hpwdt_fops, hpwdt_miscdev, watchdog_device
Modified functions: hpwdt_start, hpwdt_stop, hpwdt_ping, hpwdt_gettimeleft
Added functions: hpwdt_settimeout
Added structures: watchdog_deviceUpdate Kconfig file to show that hpwdt now selects WATCHDOG_CORE.
Signed-off-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Include the nmistat in the nmi_panic message to give support
an indication why the NMI was called (e.g. a timeout or generate
nmi button.)Signed-off-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Update Copyright and Module description to reflect branding changes.
Signed-off-by: Jerry Hoemann
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
03 Mar, 2018
1 commit
-
Gen8 and prior Proliant systems supported the "CRU" interface
to firmware. This interfaces allows linux to "call back" into firmware
to source the cause of an NMI. This feature isn't fully utilized
as the actual source of the NMI isn't printed, the driver only
indicates that the source couldn't be determined when the call
fails.With the advent of Gen9, iCRU replaces the CRU. The call back
feature is no longer available in firmware. To be compatible and
not attempt to call back into firmware on system not supporting CRU,
the SMBIOS table is consulted to determine if it is safe to
make the call back or not.This results in about half of the driver code being devoted
to either making CRU calls or determing if it is safe to make
CRU calls. As noted, the driver isn't really using the results of
the CRU calls.Furthermore, as a consequence of the Spectre security issue, the
BIOS/EFI calls are being wrapped into Spectre-disabling section.
Removing the call back in hpwdt_pretimeout assists in this effort.As the CRU sourcing of the NMI isn't required for handling the
NMI and there are security concerns with making the call back, remove
the legacy (pre Gen9) NMI sourcing and the DMI code to determine if
the system had the CRU interface.Signed-off-by: Jerry Hoemann
Acked-by: Ingo Molnar
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
29 Dec, 2017
2 commits
-
The new hpwdt_my_nmi() function is used conditionally, which produces
a harmless warning in some configurations:drivers/watchdog/hpwdt.c:478:12: error: 'hpwdt_my_nmi' defined but not used [-Werror=unused-function]
This moves it inside of the #ifdef that protects its caller, to silence
the warning.Fixes: 621174a92851 ("watchdog: hpwdt: Check source of NMI")
Signed-off-by: Arnd Bergmann
Reviewed-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck -
Do not claim the NMI (i.e. return NMI_DONE) if the source of
the NMI isn't the iLO watchdog or debug.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
17 Dec, 2017
1 commit
-
This corrects:
commit cce78da76601 ("watchdog: hpwdt: Add check for UEFI bits")The test on HPE SMBIOS extension type 219 record "Misc Features"
bits for UEFI support is incorrect. The definition of the Misc Features
bits in the HPE SMBIOS OEM Extensions specification (and related
firmware) was changed to use a different pair of bits to
represent UEFI supported. Howerver, a corresponding change
to Linux was missed.Current code/platform work because the iCRU test is working.
But purpose of cce78da766 is to ensure correct functionality
on future systems where iCRU isn't supported.Signed-off-by: Jerry Hoemann
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
09 May, 2017
1 commit
-
set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.Link: http://lkml.kernel.org/r/1488920133-27229-10-git-send-email-labbott@redhat.com
Signed-off-by: Laura Abbott
Acked-by: Guenter Roeck
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
03 Oct, 2016
1 commit
-
iLO5 will offer the same watchdog timer as previous generations, but the
PCI subsystem vendor ID will be PCI_VENDOR_ID_HP_3PAR (0x1590) instead of
PCI_VENDOR_ID_HP (0x103c). Add 0x1590 to the whitelist and be more
specific when ignoring the 103c,1979 device.Signed-off-by: Brian Boylston
Reviewed-by: Guenter Roeck
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
23 Mar, 2016
1 commit
-
Commit 1717f2096b54 ("panic, x86: Fix re-entrance problem due to panic
on NMI") introduced nmi_panic() which prevents concurrent and recursive
execution of panic(). It also saves registers for the crash dump on x86
by later commit 58c5661f2144 ("panic, x86: Allow CPUs to save registers
even if looping in NMI context").hpwdt driver can call panic() from NMI handler, so replace it with
nmi_panic(). Also, do some cleanups.Signed-off-by: Hidehiro Kawai
Acked-by: Guenter Roeck
Cc: Thomas Mingarelli
Cc: Wim Van Sebroeck
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
25 Feb, 2016
1 commit
-
Fix the following build failure:
drivers/watchdog/hpwdt.c:359:5: error: expected ‘)’ before ‘FRAME_BEGIN’
which occurs because hpwdt.c relied on indirect inclusion to get asm/frame.h
definitions - but some (mostly randconfig) configs did not provide that.Include explicitly.
Cc: Josh Poimboeuf
Cc: Andrew Morton
Cc: Andy Lutomirski
Cc: Andy Lutomirski
Cc: Arnaldo Carvalho de Melo
Cc: Bernd Petrovitsch
Cc: Borislav Petkov
Cc: Brian Gerst
Cc: Chris J Arges
Cc: Denys Vlasenko
Cc: Guenter Roeck
Cc: H. Peter Anvin
Cc: Jiri Slaby
Cc: Linus Torvalds
Cc: Michal Marek
Cc: Namhyung Kim
Cc: Pedro Alves
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Wim Van Sebroeck
Cc: linux-watchdog@vger.kernel.org
Cc: live-patching@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar
24 Feb, 2016
1 commit
-
asminline_call() is a callable non-leaf function which doesn't honor
CONFIG_FRAME_POINTER, which can result in bad stack traces.Create a stack frame when CONFIG_FRAME_POINTER is enabled.
Signed-off-by: Josh Poimboeuf
Cc: Andrew Morton
Cc: Andy Lutomirski
Cc: Andy Lutomirski
Cc: Arnaldo Carvalho de Melo
Cc: Bernd Petrovitsch
Cc: Borislav Petkov
Cc: Brian Gerst
Cc: Chris J Arges
Cc: Denys Vlasenko
Cc: Guenter Roeck
Cc: H. Peter Anvin
Cc: Jiri Slaby
Cc: Linus Torvalds
Cc: Michal Marek
Cc: Namhyung Kim
Cc: Pedro Alves
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Wim Van Sebroeck
Cc: linux-watchdog@vger.kernel.org
Cc: live-patching@vger.kernel.org
Link: http://lkml.kernel.org/r/60de3cfb6f16d413bfb923036cc87fec132df735.1453405861.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar
29 Dec, 2015
1 commit
-
This patch is for the rebranding changes for the corporate split at HP.
There are no functional changes with this patch.Signed-off-by: Tom Mingarelli
Signed-off-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
22 Jun, 2015
1 commit
-
WDIOC_SETOPTIONS makes it possible to disable and re-enable the
watchdog timer while the hpwdt driver is loaded.Signed-off-by: Jean Delvare
Reviewed-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
18 Feb, 2015
1 commit
-
allow_kdump was enabled as default since following commit.
commit a089361cf5f1d6a5295aa5385238bd044998e1e9,
watchdog: hpwdt: Unregister NMI events on exit.But the initialization message was not modified.
So it still showsHP Watchdog Timer Driver: NMI decoding initialized,
allow kernel dump: ON (default = 0/OFF)
Reviewed-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
31 Mar, 2014
1 commit
-
None of these files are actually using any __init type directives
and hence don't need to include . Most are just a
left over from __devinit and __cpuinit removal, or simply due to
code getting copied from one driver to the next.Signed-off-by: Paul Gortmaker
Reviewed-by: Guenter Roeck
Signed-off-by: Wim Van Sebroeck
Cc: linux-watchdog@vger.kernel.org
29 Jan, 2014
1 commit
-
This patch is being submitted to output a general string when the panic comes
in that informs the user of the possible places to look for the source of the
NMI. Because various systems log the message in different places this would
give a single display of where to go look instead of code that acts on all
these different server names or IDs.Signed-off-by: Thomas Mingarelli
Signed-off-by: Wim Van Sebroeck