On Wednesday 09 May 2007 01:22:29 pm David Brownell wrote: > static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state) > { > ... > + switch (state) { > + case PCI_D0: > + case PCI_D1: > + case PCI_D2: > + case PCI_D3hot: > + case PCI_D3cold: > + return acpi_bus_set_power(handle, state_conv[state]); > + } > + > + return -EINVAL; > } Did you account for the fact that PCI works on a per-function basis, but ACPI power management works on a per-slot basis? We had a bug[1] a while back where e1000 would suspend a device and call pci_power_state(), which used ACPI to turn off the slot. The only problem was that this was a dual-port card and the other port was still active when the lights went out. Maybe you deal with this already; it just wasn't obvious to me from a quick glance through your patch. Bjorn [1] https://bugzilla.novell.com/show_bug.cgi?id=162320 - 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