mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
ACPICA: haiku: Fix invalid value used for semaphores
ACPICA commit 49fe4f25483feec2f685b204ef19e28d92979e95 In Haiku, semaphores are represented by integers, not pointers. So, we can't use NULL as the invalid/destroyed value, the correct value is -1. Introduce a platform overridable define to allow this. Fixes #162 (which was closed after coming to the conclusion that this should be done, but the change was never done). Link: https://github.com/acpica/acpica/commit/49fe4f25 Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
36b5c1dc4b
commit
7afea7bc49
@ -140,7 +140,7 @@ static void acpi_ut_delete_internal_obj(union acpi_operand_object *object)
|
||||
(void)
|
||||
acpi_os_delete_semaphore
|
||||
(acpi_gbl_global_lock_semaphore);
|
||||
acpi_gbl_global_lock_semaphore = NULL;
|
||||
acpi_gbl_global_lock_semaphore = ACPI_SEMAPHORE_NULL;
|
||||
|
||||
acpi_os_delete_mutex(object->mutex.os_mutex);
|
||||
acpi_gbl_global_lock_mutex = NULL;
|
||||
@ -157,7 +157,7 @@ static void acpi_ut_delete_internal_obj(union acpi_operand_object *object)
|
||||
object, object->event.os_semaphore));
|
||||
|
||||
(void)acpi_os_delete_semaphore(object->event.os_semaphore);
|
||||
object->event.os_semaphore = NULL;
|
||||
object->event.os_semaphore = ACPI_SEMAPHORE_NULL;
|
||||
break;
|
||||
|
||||
case ACPI_TYPE_METHOD:
|
||||
|
@ -154,7 +154,7 @@ acpi_status acpi_ut_init_globals(void)
|
||||
|
||||
/* Global Lock support */
|
||||
|
||||
acpi_gbl_global_lock_semaphore = NULL;
|
||||
acpi_gbl_global_lock_semaphore = ACPI_SEMAPHORE_NULL;
|
||||
acpi_gbl_global_lock_mutex = NULL;
|
||||
acpi_gbl_global_lock_acquired = FALSE;
|
||||
acpi_gbl_global_lock_handle = 0;
|
||||
|
@ -252,6 +252,12 @@
|
||||
#define ACPI_RELEASE_GLOBAL_LOCK(Glptr, pending) pending = 0
|
||||
#endif
|
||||
|
||||
/* NULL/invalid value to use for destroyed or not-yet-created semaphores. */
|
||||
|
||||
#ifndef ACPI_SEMAPHORE_NULL
|
||||
#define ACPI_SEMAPHORE_NULL NULL
|
||||
#endif
|
||||
|
||||
/* Flush CPU cache - used when going to sleep. Wbinvd or similar. */
|
||||
|
||||
#ifndef ACPI_FLUSH_CPU_CACHE
|
||||
|
Loading…
Reference in New Issue
Block a user