diff -Nru a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c --- a/drivers/acpi/pci_link.c Wed Feb 25 21:11:46 2004 +++ b/drivers/acpi/pci_link.c Wed Mar 24 18:47:48 2004 @@ -402,10 +402,8 @@ ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Unable to read status\n")); return_VALUE(result); } - if (!link->device->status.enabled) { - ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Link disabled\n")); - return_VALUE(-ENODEV); - } + if (!link->device->status.enabled) + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Link disabled: VIA chipset? Trying to continue\n")); /* Make sure the active IRQ is the one we requested. */ result = acpi_pci_link_try_get_current(link, irq); @@ -415,11 +413,9 @@ if (link->irq.active != irq) { ACPI_DEBUG_PRINT((ACPI_DB_ERROR, - "Attempt to enable at IRQ %d resulted in IRQ %d\n", - irq, link->irq.active)); - link->irq.active = 0; - acpi_ut_evaluate_object (link->handle, "_DIS", 0, NULL); - return_VALUE(-ENODEV); + "Attempt to enable at IRQ %d resulted in IRQ %d: VIA chipset? Using irq %d\n", + irq, link->irq.active, irq)); + link->irq.active = irq; } ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Set IRQ %d\n", link->irq.active));