On Wed, 7 Jan 2009, Rafael J. Wysocki wrote: > Hi, > > Sorry for being late, but -> > > On Wednesday 07 January 2009, Greg Kroah-Hartman wrote: > > From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > > > > This patch (as1192) rearranges the USB PCI host controller suspend and > > resume and resume routines: > > > > Use pci_wake_from_d3() for enabling and disabling wakeup, > > instead of pci_enable_wake(). > > > > Carry out the actual state change while interrupts are > > disabled. > > > > Change the order of the preparations to agree with the > > general recommendation for PCI devices, instead of > > messing around with the wakeup settings while the device > > is in D3. > > > > In .suspend: > > Call the underlying driver to disable IRQ > > generation; > > pci_wake_from_d3(device_may_wakeup()); > > pci_disable_device(); > > > > In .suspend_late: > > pci_save_state(); > > pci_set_power_state(D3hot); > > -> > pci_set_power_state() does things that shouldn't be done with interrupts off, > so I'd move the above two into .suspend. > > > (for PPC_PMAC) Disable ASIC clocks > > > In .resume_early: > > (for PPC_PMAC) Enable ASIC clocks > > pci_set_power_state(D0); > > the pci_set_power_state(D0) is not necessary here IMO. If the device is > accessible at all, its config space is accessible too, even in D3. > > pci_enable_device() does pci_set_power_state(D0) anyway. > > > pci_restore_state(); > > > > In .resume: > > pci_enable_device(); > > pci_set_master(); > > pci_wake_from_d3(0); > > Call the underlying driver to reenable IRQ > > generation You are basically suggesting that everything except the PPC_PMAC stuff be moved out of the interrupts-off region. Is there in fact any remaining reason for us to use suspend_late or resume_early? It doesn't seem like it. Yet Linus constantly goes on complaining about how PCI drivers should be doing more of their suspend/resume work with interrupts disabled. And the patches you have posted since writing the email above don't do exactly what you recommend here. So what's the correct story? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html