• Bernhard Walle's avatar
    [WATCHDOG] hpwdt: Fix kdump when using hpwdt · 290172e7
    Bernhard Walle authored
    When the "hpwdt" module is loaded (even if the /dev/watchdog device is not
    opened), then kdump does not work. The panic kernel either does not start at
    all or crash in various places.
    
    The problem is that hpwdt_pretimeout is registered with register_die_notifier()
    with the highest possible priority. Because it returns NOTIFY_STOP, the
    crash_nmi_callback which is also registered with register_die_notifier()
    is never executed. This causes the shutdown of other CPUs to fail.
    
    Reverting the order is no option: The crash_nmi_callback executes HLT
    and so never returns normally. Because of that, it must be executed as
    last notifier, which currently is done.
    
    So, that patch returns NOTIFY_OK to keep the crash_nmi_callback executed.
    Signed-off-by: default avatarBernhard Walle <bwalle@suse.de>
    Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
    Signed-off-by: default avatarThomas Mingarelli <thomas.mingarelli@hp.com>
    Cc: Vivek Goyal <vgoyal@redhat.com>
    290172e7
hpwdt.c 17.9 KB