ACPICA: Windows compatibility fix: same buffer/string store

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

Reported-by: Rezwanul Kabir <Rezwanul_Kabir@Dell.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

authored by Lin Ming and committed by Len Brown b0de22bd 326ba501

+12
+12
drivers/acpi/acpica/exstorob.c
··· 70 70 71 71 ACPI_FUNCTION_TRACE_PTR(ex_store_buffer_to_buffer, source_desc); 72 72 73 + /* If Source and Target are the same, just return */ 74 + 75 + if (source_desc == target_desc) { 76 + return_ACPI_STATUS(AE_OK); 77 + } 78 + 73 79 /* We know that source_desc is a buffer by now */ 74 80 75 81 buffer = ACPI_CAST_PTR(u8, source_desc->buffer.pointer); ··· 166 160 u8 *buffer; 167 161 168 162 ACPI_FUNCTION_TRACE_PTR(ex_store_string_to_string, source_desc); 163 + 164 + /* If Source and Target are the same, just return */ 165 + 166 + if (source_desc == target_desc) { 167 + return_ACPI_STATUS(AE_OK); 168 + } 169 169 170 170 /* We know that source_desc is a string by now */ 171 171