Skip to contentSkip to conversation

ACPI related patches queued for 2.6.31-rc8

PATCH New Len Brown 1 participant 4 messages Aug 29, 2009

Subsystems (4)
lore
Share & tools
lore

Len Brown

author reviewer
#0 lore raw

Here 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

author reviewer
#1 lore raw

PATCH 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
index 67340cc..257706e 100644
@@ -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
author reviewer
#2 lore raw

PATCH 2/3 toshiba_acpi: return on a fail path

In reply to Len Brown

From: 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.

Cc John W. Linville <[email protected]>
Cc Johannes Berg <[email protected]>
Cc Henrique de Moraes Holschuh <[email protected]>
---
 drivers/platform/x86/toshiba_acpi.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/platform/x86/toshiba_acpi.c +1 -0
index 81d31ea..51c0a8b 100644
@@ -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
author reviewer
#3 lore raw

PATCH 3/3 ACPI: don't free non-existent backlight in acpi video module

In reply to Len Brown

From: 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
index 8851315..60ea984 100644
@@ -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