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 _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm