diff options
Diffstat (limited to 'drivers/acpi/events/evxface.c')
-rw-r--r-- | drivers/acpi/events/evxface.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/events/evxface.c b/drivers/acpi/events/evxface.c index 4092d47f6758..4c1c25e316a8 100644 --- a/drivers/acpi/events/evxface.c +++ b/drivers/acpi/events/evxface.c | |||
@@ -591,6 +591,7 @@ acpi_install_gpe_handler ( | |||
591 | struct acpi_gpe_event_info *gpe_event_info; | 591 | struct acpi_gpe_event_info *gpe_event_info; |
592 | struct acpi_handler_info *handler; | 592 | struct acpi_handler_info *handler; |
593 | acpi_status status; | 593 | acpi_status status; |
594 | u32 flags; | ||
594 | 595 | ||
595 | 596 | ||
596 | ACPI_FUNCTION_TRACE ("acpi_install_gpe_handler"); | 597 | ACPI_FUNCTION_TRACE ("acpi_install_gpe_handler"); |
@@ -643,7 +644,7 @@ acpi_install_gpe_handler ( | |||
643 | 644 | ||
644 | /* Install the handler */ | 645 | /* Install the handler */ |
645 | 646 | ||
646 | acpi_os_acquire_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); | 647 | flags = acpi_os_acquire_lock (acpi_gbl_gpe_lock); |
647 | gpe_event_info->dispatch.handler = handler; | 648 | gpe_event_info->dispatch.handler = handler; |
648 | 649 | ||
649 | /* Setup up dispatch flags to indicate handler (vs. method) */ | 650 | /* Setup up dispatch flags to indicate handler (vs. method) */ |
@@ -651,7 +652,7 @@ acpi_install_gpe_handler ( | |||
651 | gpe_event_info->flags &= ~(ACPI_GPE_XRUPT_TYPE_MASK | ACPI_GPE_DISPATCH_MASK); /* Clear bits */ | 652 | gpe_event_info->flags &= ~(ACPI_GPE_XRUPT_TYPE_MASK | ACPI_GPE_DISPATCH_MASK); /* Clear bits */ |
652 | gpe_event_info->flags |= (u8) (type | ACPI_GPE_DISPATCH_HANDLER); | 653 | gpe_event_info->flags |= (u8) (type | ACPI_GPE_DISPATCH_HANDLER); |
653 | 654 | ||
654 | acpi_os_release_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); | 655 | acpi_os_release_lock (acpi_gbl_gpe_lock, flags); |
655 | 656 | ||
656 | 657 | ||
657 | unlock_and_exit: | 658 | unlock_and_exit: |
@@ -685,6 +686,7 @@ acpi_remove_gpe_handler ( | |||
685 | struct acpi_gpe_event_info *gpe_event_info; | 686 | struct acpi_gpe_event_info *gpe_event_info; |
686 | struct acpi_handler_info *handler; | 687 | struct acpi_handler_info *handler; |
687 | acpi_status status; | 688 | acpi_status status; |
689 | u32 flags; | ||
688 | 690 | ||
689 | 691 | ||
690 | ACPI_FUNCTION_TRACE ("acpi_remove_gpe_handler"); | 692 | ACPI_FUNCTION_TRACE ("acpi_remove_gpe_handler"); |
@@ -741,7 +743,7 @@ acpi_remove_gpe_handler ( | |||
741 | 743 | ||
742 | /* Remove the handler */ | 744 | /* Remove the handler */ |
743 | 745 | ||
744 | acpi_os_acquire_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); | 746 | flags = acpi_os_acquire_lock (acpi_gbl_gpe_lock); |
745 | handler = gpe_event_info->dispatch.handler; | 747 | handler = gpe_event_info->dispatch.handler; |
746 | 748 | ||
747 | /* Restore Method node (if any), set dispatch flags */ | 749 | /* Restore Method node (if any), set dispatch flags */ |
@@ -751,7 +753,7 @@ acpi_remove_gpe_handler ( | |||
751 | if (handler->method_node) { | 753 | if (handler->method_node) { |
752 | gpe_event_info->flags |= ACPI_GPE_DISPATCH_METHOD; | 754 | gpe_event_info->flags |= ACPI_GPE_DISPATCH_METHOD; |
753 | } | 755 | } |
754 | acpi_os_release_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); | 756 | acpi_os_release_lock (acpi_gbl_gpe_lock, flags); |
755 | 757 | ||
756 | /* Now we can free the handler object */ | 758 | /* Now we can free the handler object */ |
757 | 759 | ||