diff options
Diffstat (limited to 'drivers/acpi/acpica/utcopy.c')
| -rw-r--r-- | drivers/acpi/acpica/utcopy.c | 29 | 
1 files changed, 16 insertions, 13 deletions
diff --git a/drivers/acpi/acpica/utcopy.c b/drivers/acpi/acpica/utcopy.c index 6fef83f04bc..270c16464dd 100644 --- a/drivers/acpi/acpica/utcopy.c +++ b/drivers/acpi/acpica/utcopy.c @@ -5,7 +5,7 @@   *****************************************************************************/  /* - * Copyright (C) 2000 - 2010, Intel Corp. + * Copyright (C) 2000 - 2014, Intel Corp.   * All rights reserved.   *   * Redistribution and use in source and binary forms, with or without @@ -178,7 +178,6 @@ acpi_ut_copy_isimple_to_esimple(union acpi_operand_object *internal_object,  		switch (internal_object->reference.class) {  		case ACPI_REFCLASS_NAME: -  			/*  			 * For namepath, return the object handle ("reference")  			 * We are referring to the namespace node @@ -264,7 +263,6 @@ acpi_ut_copy_ielement_to_eelement(u8 object_type,  	switch (object_type) {  	case ACPI_COPY_TYPE_SIMPLE: -  		/*  		 * This is a simple or null object  		 */ @@ -278,7 +276,6 @@ acpi_ut_copy_ielement_to_eelement(u8 object_type,  		break;  	case ACPI_COPY_TYPE_PACKAGE: -  		/*  		 * Build the package object  		 */ @@ -304,6 +301,7 @@ acpi_ut_copy_ielement_to_eelement(u8 object_type,  		break;  	default: +  		return (AE_BAD_PARAMETER);  	} @@ -317,7 +315,7 @@ acpi_ut_copy_ielement_to_eelement(u8 object_type,   * FUNCTION:    acpi_ut_copy_ipackage_to_epackage   *   * PARAMETERS:  internal_object     - Pointer to the object we are returning - *              Buffer              - Where the object is returned + *              buffer              - Where the object is returned   *              space_used          - Where the object length is returned   *   * RETURN:      Status @@ -481,6 +479,7 @@ acpi_ut_copy_esimple_to_isimple(union acpi_object *external_object,  		return_ACPI_STATUS(AE_OK);  	default: +  		/* All other types are not supported */  		ACPI_ERROR((AE_INFO, @@ -536,22 +535,24 @@ acpi_ut_copy_esimple_to_isimple(union acpi_object *external_object,  	case ACPI_TYPE_LOCAL_REFERENCE: -		/* TBD: should validate incoming handle */ +		/* An incoming reference is defined to be a namespace node */ -		internal_object->reference.class = ACPI_REFCLASS_NAME; -		internal_object->reference.node = +		internal_object->reference.class = ACPI_REFCLASS_REFOF; +		internal_object->reference.object =  		    external_object->reference.handle;  		break;  	default: +  		/* Other types can't get here */ +  		break;  	}  	*ret_internal_object = internal_object;  	return_ACPI_STATUS(AE_OK); -      error_exit: +error_exit:  	acpi_ut_remove_reference(internal_object);  	return_ACPI_STATUS(AE_NO_MEMORY);  } @@ -785,7 +786,7 @@ acpi_ut_copy_simple_object(union acpi_operand_object *source_desc,  		status = acpi_os_create_mutex(&dest_desc->mutex.os_mutex);  		if (ACPI_FAILURE(status)) { -			return status; +			return (status);  		}  		break; @@ -795,12 +796,14 @@ acpi_ut_copy_simple_object(union acpi_operand_object *source_desc,  						  &dest_desc->event.  						  os_semaphore);  		if (ACPI_FAILURE(status)) { -			return status; +			return (status);  		}  		break;  	default: +  		/* Nothing to do for other simple objects */ +  		break;  	} @@ -868,7 +871,6 @@ acpi_ut_copy_ielement_to_ielement(u8 object_type,  		break;  	case ACPI_COPY_TYPE_PACKAGE: -  		/*  		 * This object is a package - go down another nesting level  		 * Create and build the package object @@ -891,12 +893,13 @@ acpi_ut_copy_ielement_to_ielement(u8 object_type,  		break;  	default: +  		return (AE_BAD_PARAMETER);  	}  	return (status); -      error_exit: +error_exit:  	acpi_ut_remove_reference(target_object);  	return (status);  }  | 
