/* Install the new block at the end of the list for this interrupt with lock */ 
/* Install the new block at the end of the list with lock */ 
acpi_ev_install_gpe_block (	struct acpi_gpe_block_info      *gpe_block,	u32                             interrupt_level){	struct acpi_gpe_block_info      *next_gpe_block;	struct acpi_gpe_xrupt_info      *gpe_xrupt_block;	acpi_status                     status;	ACPI_FUNCTION_TRACE ("ev_install_gpe_block");	status = acpi_ut_acquire_mutex (ACPI_MTX_EVENTS);	if (ACPI_FAILURE (status)) {		return_ACPI_STATUS (status);	}	gpe_xrupt_block = acpi_ev_get_gpe_xrupt_block (interrupt_level);	if (!gpe_xrupt_block) {		status = AE_NO_MEMORY;		goto unlock_and_exit;	}	/* Install the new block at the end of the list for this interrupt with lock */	acpi_os_acquire_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR);	if (gpe_xrupt_block->gpe_block_list_head) {		next_gpe_block = gpe_xrupt_block->gpe_block_list_head;		while (next_gpe_block->next) {			next_gpe_block = next_gpe_block->next;		}		next_gpe_block->next = gpe_block;		gpe_block->previous = next_gpe_block;	}	else {		gpe_xrupt_block->gpe_block_list_head = gpe_block;	}	gpe_block->xrupt_block = gpe_xrupt_block;	acpi_os_release_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR);unlock_and_exit:	status = acpi_ut_release_mutex (ACPI_MTX_EVENTS);	return_ACPI_STATUS (status);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/44f6c01242da4e162f28d8e1216a8c7a91174605/evgpeblk.c/buggy/drivers/acpi/events/evgpeblk.c