[ACPI] ACPICA 20050902

Fixed a problem with the internal Owner ID allocation and
deallocation mechanisms for control method execution and
recursive method invocation.  This should eliminate the
OWNER_ID_LIMIT exceptions and "Invalid OwnerId" messages
seen on some systems.  Recursive method invocation depth
is currently limited to 255.  (Alexey Starikovskiy)

http://bugzilla.kernel.org/show_bug.cgi?id=4892

Completely eliminated all vestiges of support for the
"module-level executable code" until this support is
fully implemented and debugged.  This should eliminate the
NO_RETURN_VALUE exceptions seen during table load on some
systems that invoke this support.

http://bugzilla.kernel.org/show_bug.cgi?id=5162

Fixed a problem within the resource manager code where
the transaction flags for a 64-bit address descriptor were
handled incorrectly in the type-specific flag byte.

Consolidated duplicate code within the address descriptor
resource manager code, reducing overall subsystem code size.

Signed-off-by: Robert Moore <Robert.Moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
diff --git a/drivers/acpi/resources/rsirq.c b/drivers/acpi/resources/rsirq.c
index 7179b62..56043fe 100644
--- a/drivers/acpi/resources/rsirq.c
+++ b/drivers/acpi/resources/rsirq.c
@@ -290,7 +290,7 @@
 
 	ACPI_FUNCTION_TRACE("rs_extended_irq_resource");
 
-	/* Point past the Descriptor to get the number of bytes consumed */
+	/* Get the Descriptor Length field */
 
 	buffer += 1;
 	ACPI_MOVE_16_TO_16(&temp16, buffer);
@@ -398,7 +398,7 @@
 		/* Copy the string into the buffer */
 
 		index = 0;
-		while (0x00 != *buffer) {
+		while (*buffer) {
 			*temp_ptr = *buffer;
 
 			temp_ptr += 1;
@@ -408,7 +408,7 @@
 
 		/* Add the terminating null */
 
-		*temp_ptr = 0x00;
+		*temp_ptr = 0;
 		output_struct->data.extended_irq.resource_source.string_length =
 		    index + 1;
 
@@ -420,7 +420,7 @@
 		temp8 = (u8) (index + 1);
 		struct_size += ACPI_ROUND_UP_to_32_bITS(temp8);
 	} else {
-		output_struct->data.extended_irq.resource_source.index = 0x00;
+		output_struct->data.extended_irq.resource_source.index = 0;
 		output_struct->data.extended_irq.resource_source.string_length =
 		    0;
 		output_struct->data.extended_irq.resource_source.string_ptr =
@@ -461,16 +461,15 @@
 	u16 *length_field;
 	u8 temp8 = 0;
 	u8 index;
-	char *temp_pointer = NULL;
 
 	ACPI_FUNCTION_TRACE("rs_extended_irq_stream");
 
-	/* The descriptor field is static */
+	/* Set the Descriptor Type field */
 
-	*buffer = 0x89;
+	*buffer = ACPI_RDESC_TYPE_EXTENDED_XRUPT;
 	buffer += 1;
 
-	/* Set a pointer to the Length field - to be filled in later */
+	/* Save a pointer to the Length field - to be filled in later */
 
 	length_field = ACPI_CAST_PTR(u16, buffer);
 	buffer += 2;
@@ -524,16 +523,14 @@
 		    (u8) linked_list->data.extended_irq.resource_source.index;
 		buffer += 1;
 
-		temp_pointer = (char *)buffer;
-
 		/* Copy the string */
 
-		ACPI_STRCPY(temp_pointer,
+		ACPI_STRCPY((char *)buffer,
 			    linked_list->data.extended_irq.resource_source.
 			    string_ptr);
 
 		/*
-		 * Buffer needs to be set to the length of the sting + one for the
+		 * Buffer needs to be set to the length of the string + one for the
 		 * terminating null
 		 */
 		buffer +=