We've had the reference counting on Links disabled since 2.6.12. Time to try to enable it and re-learn why we disabled it back then:-) This allows links to get back into the _DISabled state when drivers free IRQs. They may free IRQs at unload time, or at suspend time. For suspend, this allows us to "act more like boot", in that links start off in _DIS and are programmed as the drivers request them. irqrouter_resume() will still restore the links that were not in the _DIS state at suspend. (Though I really don't like this routine, and how it runs AML with irqs disabled) One opportunity for a bug on resume we may have is that we don't actually force all the links to _DIS before we start programming them as we do at boot time. We can add that if it turns out to be a problem -- but would do it with interrupts on, like we do at boot... Anyway, this all works for me... If Rafael comes through with PCI Core code to free IRQ at suspend for all devices, then we may find outselves very close to the state where all the links are disabled at suspend and irqrouter_resume() has nothing to do. cheers, -- Len Brown - Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html