ACPI related patches queued for 2.6.31-rc8
Subsystems (4)
Len Brown
reviewerHere are the patches I have queued for -rc8.
Not sure when Linux will return to pull them.
Let me know if I missed any.
thanks,
Len Brown, Intel Open Source Technolgy Center
Len Brown
reviewerPATCH 1/3 ACPICA: Windows compatibility fix: same buffer/string store
From: Lin Ming <[email protected]>
Fix a compatibility issue when the same buffer or string is stored to itself. This has been seen in the field. Previously, ACPICA would zero out the buffer/string. Now, the operation is treated as a NOP.
http://bugzilla.acpica.org/show_bug.cgi?id=803
--- drivers/acpi/acpica/exstorob.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)
drivers/acpi/acpica/exstorob.c +12 -0
@@ -70,6 +70,12 @@ acpi_ex_store_buffer_to_buffer(union acpi_operand_object *source_desc,ACPI_FUNCTION_TRACE_PTR (ex_store_buffer_to_buffer, source_desc); +/* If Source and Target are the same, just return */ + +if (source_desc == target_desc) { +return_ACPI_STATUS (AE_OK ); + } +/* We know that source_desc is a buffer by now */ buffer =ACPI_CAST_PTR (u8, source_desc->buffer.pointer);
@@ -161,6 +167,12 @@ acpi_ex_store_string_to_string(union acpi_operand_object *source_desc,ACPI_FUNCTION_TRACE_PTR (ex_store_string_to_string, source_desc); +/* If Source and Target are the same, just return */ + +if (source_desc == target_desc) { +return_ACPI_STATUS (AE_OK ); + } +/* We know that source_desc is a string by now */ buffer =ACPI_CAST_PTR (u8, source_desc->string.pointer);
Signature · 1 line
1.6.0.6
Len Brown
reviewerPATCH 2/3 toshiba_acpi: return on a fail path
In reply to Len BrownFrom: Jiri Slaby <[email protected]>
Return from bt_rfkill_poll() when hci_get_radio_state() fails.
value is invalid in that case and should not be assigned to the rfkill state.
This also fixes a double unlock bug.
--- drivers/platform/x86/toshiba_acpi.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/platform/x86/toshiba_acpi.c +1 -0
@@ -335,6 +335,7 @@ static void bt_rfkill_poll(struct rfkill *rfkill, void *data)if (hci_result !=HCI_SUCCESS ) {/* Can't do anything useful */ mutex_unlock (&dev->mutex); +return ; } new_rfk_state = value;
Signature · 1 line
1.6.0.6
Len Brown
reviewerPATCH 3/3 ACPI: don't free non-existent backlight in acpi video module
In reply to Len BrownFrom: Keith Packard <[email protected]>
acpi_video_put_one_device was attempting to remove sysfs entries and unregister a backlight device without first checking that said backlight device structure had been created.
--- drivers/acpi/video.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
drivers/acpi/video.c +5 -2
@@ -2004,8 +2004,11 @@ static int acpi_video_bus_put_one_device(struct acpi_video_device *device) status =acpi_remove_notify_handler (device->dev->handle,ACPI_DEVICE_NOTIFY , acpi_video_device_notify); -sysfs_remove_link (&device->backlight->dev.kobj,"device" ); -backlight_device_unregister (device->backlight); +if (device->backlight) { +sysfs_remove_link (&device->backlight->dev.kobj,"device" ); +backlight_device_unregister (device->backlight); + device->backlight =NULL ; + }if (device->cdev) {sysfs_remove_link (&device->dev->dev.kobj,"thermal_cooling" );
Signature · 1 line
1.6.0.6