diff options
| -rw-r--r-- | drivers/watchdog/hpwdt.c | 9 | ||||
| -rw-r--r-- | drivers/watchdog/lantiq_wdt.c | 8 | ||||
| -rw-r--r-- | drivers/watchdog/sbc_epx_c3.c | 2 | ||||
| -rw-r--r-- | drivers/watchdog/watchdog_dev.c | 14 |
4 files changed, 17 insertions, 16 deletions
diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c index 410fba45378d..809cbda03d7a 100644 --- a/drivers/watchdog/hpwdt.c +++ b/drivers/watchdog/hpwdt.c | |||
| @@ -494,15 +494,16 @@ static int hpwdt_pretimeout(struct notifier_block *nb, unsigned long ulReason, | |||
| 494 | asminline_call(&cmn_regs, cru_rom_addr); | 494 | asminline_call(&cmn_regs, cru_rom_addr); |
| 495 | die_nmi_called = 1; | 495 | die_nmi_called = 1; |
| 496 | spin_unlock_irqrestore(&rom_lock, rom_pl); | 496 | spin_unlock_irqrestore(&rom_lock, rom_pl); |
| 497 | |||
| 498 | if (allow_kdump) | ||
| 499 | hpwdt_stop(); | ||
| 500 | |||
| 497 | if (!is_icru) { | 501 | if (!is_icru) { |
| 498 | if (cmn_regs.u1.ral == 0) { | 502 | if (cmn_regs.u1.ral == 0) { |
| 499 | printk(KERN_WARNING "hpwdt: An NMI occurred, " | 503 | panic("An NMI occurred, " |
| 500 | "but unable to determine source.\n"); | 504 | "but unable to determine source.\n"); |
| 501 | } | 505 | } |
| 502 | } | 506 | } |
| 503 | |||
| 504 | if (allow_kdump) | ||
| 505 | hpwdt_stop(); | ||
| 506 | panic("An NMI occurred, please see the Integrated " | 507 | panic("An NMI occurred, please see the Integrated " |
| 507 | "Management Log for details.\n"); | 508 | "Management Log for details.\n"); |
| 508 | 509 | ||
diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c index 7d82adac1cb2..102aed0efbf1 100644 --- a/drivers/watchdog/lantiq_wdt.c +++ b/drivers/watchdog/lantiq_wdt.c | |||
| @@ -51,16 +51,16 @@ static int ltq_wdt_ok_to_close; | |||
| 51 | static void | 51 | static void |
| 52 | ltq_wdt_enable(void) | 52 | ltq_wdt_enable(void) |
| 53 | { | 53 | { |
| 54 | ltq_wdt_timeout = ltq_wdt_timeout * | 54 | unsigned long int timeout = ltq_wdt_timeout * |
| 55 | (ltq_io_region_clk_rate / LTQ_WDT_DIVIDER) + 0x1000; | 55 | (ltq_io_region_clk_rate / LTQ_WDT_DIVIDER) + 0x1000; |
| 56 | if (ltq_wdt_timeout > LTQ_MAX_TIMEOUT) | 56 | if (timeout > LTQ_MAX_TIMEOUT) |
| 57 | ltq_wdt_timeout = LTQ_MAX_TIMEOUT; | 57 | timeout = LTQ_MAX_TIMEOUT; |
| 58 | 58 | ||
| 59 | /* write the first password magic */ | 59 | /* write the first password magic */ |
| 60 | ltq_w32(LTQ_WDT_PW1, ltq_wdt_membase + LTQ_WDT_CR); | 60 | ltq_w32(LTQ_WDT_PW1, ltq_wdt_membase + LTQ_WDT_CR); |
| 61 | /* write the second magic plus the configuration and new timeout */ | 61 | /* write the second magic plus the configuration and new timeout */ |
| 62 | ltq_w32(LTQ_WDT_SR_EN | LTQ_WDT_SR_PWD | LTQ_WDT_SR_CLKDIV | | 62 | ltq_w32(LTQ_WDT_SR_EN | LTQ_WDT_SR_PWD | LTQ_WDT_SR_CLKDIV | |
| 63 | LTQ_WDT_PW2 | ltq_wdt_timeout, ltq_wdt_membase + LTQ_WDT_CR); | 63 | LTQ_WDT_PW2 | timeout, ltq_wdt_membase + LTQ_WDT_CR); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | static void | 66 | static void |
diff --git a/drivers/watchdog/sbc_epx_c3.c b/drivers/watchdog/sbc_epx_c3.c index 3066a5127ca8..eaca366b7234 100644 --- a/drivers/watchdog/sbc_epx_c3.c +++ b/drivers/watchdog/sbc_epx_c3.c | |||
| @@ -173,7 +173,7 @@ static struct notifier_block epx_c3_notifier = { | |||
| 173 | .notifier_call = epx_c3_notify_sys, | 173 | .notifier_call = epx_c3_notify_sys, |
| 174 | }; | 174 | }; |
| 175 | 175 | ||
| 176 | static const char banner[] __initdata = KERN_INFO PFX | 176 | static const char banner[] __initconst = KERN_INFO PFX |
| 177 | "Hardware Watchdog Timer for Winsystems EPX-C3 SBC: 0.1\n"; | 177 | "Hardware Watchdog Timer for Winsystems EPX-C3 SBC: 0.1\n"; |
| 178 | 178 | ||
| 179 | static int __init watchdog_init(void) | 179 | static int __init watchdog_init(void) |
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c index d33520d0b4c9..1199da0f98cf 100644 --- a/drivers/watchdog/watchdog_dev.c +++ b/drivers/watchdog/watchdog_dev.c | |||
| @@ -59,7 +59,7 @@ static struct watchdog_device *wdd; | |||
| 59 | 59 | ||
| 60 | static int watchdog_ping(struct watchdog_device *wddev) | 60 | static int watchdog_ping(struct watchdog_device *wddev) |
| 61 | { | 61 | { |
| 62 | if (test_bit(WDOG_ACTIVE, &wdd->status)) { | 62 | if (test_bit(WDOG_ACTIVE, &wddev->status)) { |
| 63 | if (wddev->ops->ping) | 63 | if (wddev->ops->ping) |
| 64 | return wddev->ops->ping(wddev); /* ping the watchdog */ | 64 | return wddev->ops->ping(wddev); /* ping the watchdog */ |
| 65 | else | 65 | else |
| @@ -81,12 +81,12 @@ static int watchdog_start(struct watchdog_device *wddev) | |||
| 81 | { | 81 | { |
| 82 | int err; | 82 | int err; |
| 83 | 83 | ||
| 84 | if (!test_bit(WDOG_ACTIVE, &wdd->status)) { | 84 | if (!test_bit(WDOG_ACTIVE, &wddev->status)) { |
| 85 | err = wddev->ops->start(wddev); | 85 | err = wddev->ops->start(wddev); |
| 86 | if (err < 0) | 86 | if (err < 0) |
| 87 | return err; | 87 | return err; |
| 88 | 88 | ||
| 89 | set_bit(WDOG_ACTIVE, &wdd->status); | 89 | set_bit(WDOG_ACTIVE, &wddev->status); |
| 90 | } | 90 | } |
| 91 | return 0; | 91 | return 0; |
| 92 | } | 92 | } |
| @@ -105,18 +105,18 @@ static int watchdog_stop(struct watchdog_device *wddev) | |||
| 105 | { | 105 | { |
| 106 | int err = -EBUSY; | 106 | int err = -EBUSY; |
| 107 | 107 | ||
| 108 | if (test_bit(WDOG_NO_WAY_OUT, &wdd->status)) { | 108 | if (test_bit(WDOG_NO_WAY_OUT, &wddev->status)) { |
| 109 | pr_info("%s: nowayout prevents watchdog to be stopped!\n", | 109 | pr_info("%s: nowayout prevents watchdog to be stopped!\n", |
| 110 | wdd->info->identity); | 110 | wddev->info->identity); |
| 111 | return err; | 111 | return err; |
| 112 | } | 112 | } |
| 113 | 113 | ||
| 114 | if (test_bit(WDOG_ACTIVE, &wdd->status)) { | 114 | if (test_bit(WDOG_ACTIVE, &wddev->status)) { |
| 115 | err = wddev->ops->stop(wddev); | 115 | err = wddev->ops->stop(wddev); |
| 116 | if (err < 0) | 116 | if (err < 0) |
| 117 | return err; | 117 | return err; |
| 118 | 118 | ||
| 119 | clear_bit(WDOG_ACTIVE, &wdd->status); | 119 | clear_bit(WDOG_ACTIVE, &wddev->status); |
| 120 | } | 120 | } |
| 121 | return 0; | 121 | return 0; |
| 122 | } | 122 | } |
