diff options
Diffstat (limited to 'drivers/misc/thinkpad_acpi.c')
-rw-r--r-- | drivers/misc/thinkpad_acpi.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c index e9aec87a9f09..9b4eea4c8ff7 100644 --- a/drivers/misc/thinkpad_acpi.c +++ b/drivers/misc/thinkpad_acpi.c | |||
@@ -2524,7 +2524,7 @@ static int fan_get_status(u8 *status) | |||
2524 | 2524 | ||
2525 | static void fan_exit(void) | 2525 | static void fan_exit(void) |
2526 | { | 2526 | { |
2527 | vdbg_printk(TPACPI_DBG_EXIT, "cancelling any pending watchdogs\n"); | 2527 | vdbg_printk(TPACPI_DBG_EXIT, "cancelling any pending fan watchdog tasks\n"); |
2528 | cancel_delayed_work(&fan_watchdog_task); | 2528 | cancel_delayed_work(&fan_watchdog_task); |
2529 | flush_scheduled_work(); | 2529 | flush_scheduled_work(); |
2530 | } | 2530 | } |
@@ -2554,9 +2554,13 @@ static int fan_get_speed(unsigned int *speed) | |||
2554 | 2554 | ||
2555 | static void fan_watchdog_fire(struct work_struct *ignored) | 2555 | static void fan_watchdog_fire(struct work_struct *ignored) |
2556 | { | 2556 | { |
2557 | int rc; | ||
2558 | |||
2557 | printk(IBM_NOTICE "fan watchdog: enabling fan\n"); | 2559 | printk(IBM_NOTICE "fan watchdog: enabling fan\n"); |
2558 | if (fan_set_enable()) { | 2560 | rc = fan_set_enable(); |
2559 | printk(IBM_ERR "fan watchdog: error while enabling fan\n"); | 2561 | if (rc < 0) { |
2562 | printk(IBM_ERR "fan watchdog: error %d while enabling fan, " | ||
2563 | "will try again later...\n", -rc); | ||
2560 | /* reschedule for later */ | 2564 | /* reschedule for later */ |
2561 | fan_watchdog_reset(); | 2565 | fan_watchdog_reset(); |
2562 | } | 2566 | } |