The attached patch does two things: 1) Take PCI devices to D0 state before enabling them. We both think this is the right thing to do, but there is always the crazy chance this change will break something. So, think twice before applying, but IMHO apply :) 2) Adds pci_disable_device. Right now is just disables busmastering. When suspending devices, the last task that should occur is to disable busmastering, before ceding control to ACPI. Also its a good idea in general to disable busmastering when its not in use; it's friendlier to the bus. When unloading drivers too, we should be more "green" about disabling devices. I wonder if we should disable IO and MEM decoding too, and I also like to ack PCI_STATUS. I didn't add those things because I'm not yet sure we want to do that unconditionally. Comments welcome. -- Jeff Garzik | "Give a man a fish, and he eats for a day. Teach a Building 1024 | man to fish, and a US Navy submarine will make sure MandrakeSoft | he's never hungry again." -- Chris Neufeld