if (buffer.pointer) kfree(buffer.pointer); 
kfree(buffer.pointer); 
acpi_video_device_lcd_query_levels(struct acpi_video_device *device,				   union acpi_object **levels){	int status;	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };	union acpi_object *obj;	ACPI_FUNCTION_TRACE("acpi_video_device_lcd_query_levels");	*levels = NULL;	status = acpi_evaluate_object(device->handle, "_BCL", NULL, &buffer);	if (!ACPI_SUCCESS(status))		return_VALUE(status);	obj = (union acpi_object *)buffer.pointer;	if (!obj && (obj->type != ACPI_TYPE_PACKAGE)) {		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid _BCL data\n"));		status = -EFAULT;		goto err;	}	*levels = obj;	return_VALUE(0);      err:	if (buffer.pointer)		kfree(buffer.pointer);	return_VALUE(status);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6044ec8882c726e325017bd948aa0cd94ad33abc/video.c/clean/drivers/acpi/video.c