diff options
author | Liang Li <liang.li@windriver.com> | 2010-06-10 01:42:49 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-06-10 11:24:51 -0400 |
commit | 934231de706d2579fae14f5857fcd8de991009ff (patch) | |
tree | f6bfd21271bca434fba5a12c62496a9b2a0c9281 /drivers/acpi | |
parent | 75cbfb97a156dd3dabdc81295fb8144576332366 (diff) |
ACPI: fan: fix unbalanced code block
The code block braced with CONFIG_ACPI_PROCFS is unblanced. When
CONFIG_ACPI_PROCFS=n, kernel trace will be produced like:
Call Trace:
[<c111637d>] ? remove_proc_entry+0x20d/0x290
[<c111637d>] ? remove_proc_entry+0x20d/0x290
[<c103b02c>] warn_slowpath_common+0x6c/0xc0
[<c111637d>] ? remove_proc_entry+0x20d/0x290
[<c103b0c6>] warn_slowpath_fmt+0x26/0x30
[<c111637d>] remove_proc_entry+0x20d/0x290
[<c1116bd7>] ? proc_register+0x117/0x1f0
[<c1116e83>] ? proc_mkdir_mode+0x33/0x50
[<c14f483c>] ? acpi_fan_init+0x0/0x2c
[<c14f485f>] acpi_fan_init+0x23/0x2c
[<c1001123>] do_one_initcall+0x23/0x180
[<c107dcf7>] ? init_irq_proc+0x67/0x80
[<c14d43bd>] kernel_init+0x13c/0x20e
[<c1030e50>] ? schedule_tail+0x20/0x90
[<c1389e06>] ? syscall_exit+0x5/0x16
[<c14d4281>] ? kernel_init+0x0/0x20e
[<c14d4281>] ? kernel_init+0x0/0x20e
[<c10032f6>] kernel_thread_helper+0x6/0x30
---[ end trace a7919e7f17c0a725 ]---
Then also bracket later error checking code with ACPI_PROCFS
option to avoid mismatch problem.
Signed-off-by: Liang Li <liang.li@windriver.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/fan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c index acf2ab249842..8a3b840c0bb2 100644 --- a/drivers/acpi/fan.c +++ b/drivers/acpi/fan.c | |||
@@ -347,7 +347,6 @@ static int __init acpi_fan_init(void) | |||
347 | { | 347 | { |
348 | int result = 0; | 348 | int result = 0; |
349 | 349 | ||
350 | |||
351 | #ifdef CONFIG_ACPI_PROCFS | 350 | #ifdef CONFIG_ACPI_PROCFS |
352 | acpi_fan_dir = proc_mkdir(ACPI_FAN_CLASS, acpi_root_dir); | 351 | acpi_fan_dir = proc_mkdir(ACPI_FAN_CLASS, acpi_root_dir); |
353 | if (!acpi_fan_dir) | 352 | if (!acpi_fan_dir) |
@@ -356,7 +355,9 @@ static int __init acpi_fan_init(void) | |||
356 | 355 | ||
357 | result = acpi_bus_register_driver(&acpi_fan_driver); | 356 | result = acpi_bus_register_driver(&acpi_fan_driver); |
358 | if (result < 0) { | 357 | if (result < 0) { |
358 | #ifdef CONFIG_ACPI_PROCFS | ||
359 | remove_proc_entry(ACPI_FAN_CLASS, acpi_root_dir); | 359 | remove_proc_entry(ACPI_FAN_CLASS, acpi_root_dir); |
360 | #endif | ||
360 | return -ENODEV; | 361 | return -ENODEV; |
361 | } | 362 | } |
362 | 363 | ||