[BUG] acpi_hw_[enable|disable]_non_wakeup_gpe_block

Alexander Malysh
2004-02-14T22:17:37Z

Hi all,

I have found a bug? in linux acpi that values within gpe_register_info are
overwritten. Please see these values (note: only system_io gpe_register were
dumped):

1) system go into S1
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef335c8)
gpe_register_info(0xcefec548) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1022 gpe_register_info->enable=0x11
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef335c8)
gpe_register_info(0xcefec564) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1023 gpe_register_info->enable=0x5d
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef33568)
gpe_register_info(0xcefec4c8) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1032 gpe_register_info->enable=0x0
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef33568)
gpe_register_info(0xcefec4e4) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1033 gpe_register_info->enable=0x0

2) system wakeup
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef335c8)
gpe_register_info(0xcefec548) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1022 gpe_register_info->enable=0x0
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef335c8)
gpe_register_info(0xcefec564) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1023 gpe_register_info->enable=0x0
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef33568)
gpe_register_info(0xcefec4c8) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1032 gpe_register_info->enable=0x0
Feb 14 23:01:08 rose kernel:
acpi_hw_disable_non_wakeup_gpe_block:gpe_block(0xcef33568)
gpe_register_info(0xcefec4e4) gpe_register_info->wake_enable=0x0
gpe_register_info->enable_address=0x1033 gpe_register_info->enable=0x0

As you can see, io_addr 0x1022 and 0x1023 were restored with wrong values.

any thoughts or patches to try?

--
Please avoid sending me Word, Excel or PowerPoint attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html