if (link->irq.initialized) return_VALUE(0);
static int acpi_pci_link_allocate(	struct acpi_pci_link	*link){	int			irq;	int			i;	ACPI_FUNCTION_TRACE("acpi_pci_link_allocate");	if (link->irq.suspend_resume) {		acpi_pci_link_set(link, link->irq.active);		link->irq.suspend_resume = 0;	}	if (link->irq.initialized)		return_VALUE(0);	/*	 * search for active IRQ in list of possible IRQs.	 */	for (i = 0; i < link->irq.possible_count; ++i) {		if (link->irq.active == link->irq.possible[i])			break;	}	/*	 * forget active IRQ that is not in possible list	 */	if (i == link->irq.possible_count) {		if (acpi_strict)			printk(KERN_WARNING PREFIX "_CRS %d not found"				" in _PRS\n", link->irq.active);		link->irq.active = 0;	}	/*	 * if active found, use it; else pick entry from end of possible list.	 */	if (link->irq.active) {		irq = link->irq.active;	} else {		irq = link->irq.possible[link->irq.possible_count - 1];	}	if (acpi_irq_balance || !link->irq.active) {		/*		 * Select the best IRQ.  This is done in reverse to promote		 * the use of IRQs 9, 10, 11, and >15.		 */		for (i = (link->irq.possible_count - 1); i >= 0; i--) {			if (acpi_irq_penalty[irq] > acpi_irq_penalty[link->irq.possible[i]])				irq = link->irq.possible[i];		}	}	/* Attempt to enable the link device at this IRQ. */	if (acpi_pci_link_set(link, irq)) {		printk(PREFIX "Unable to set IRQ for %s [%s] (likely buggy ACPI BIOS).\n"				"Try pci=noacpi or acpi=off\n",			acpi_device_name(link->device),			acpi_device_bid(link->device));		return_VALUE(-ENODEV);	} else {		acpi_irq_penalty[link->irq.active] += PIRQ_PENALTY_PCI_USING;		printk(PREFIX "%s [%s] enabled at IRQ %d\n", 			acpi_device_name(link->device),			acpi_device_bid(link->device), link->irq.active);	}	link->irq.initialized = 1;	return_VALUE(0);}