On Sun, 7 Dec 2008, Rafael J. Wysocki wrote:Rafael: there's a bug in your 1/3 patch. It looks like "pci_save_state()" is currently unhappy with being called with interrupts disabled. Or at least "pci_save_pci[ex]_state()" state are. They both do a kzalloc(GFP_KERNEL). So you should change that GFP_KERNEL into a GFP_ATOMIC. Or do something more complicated like pre-allocate them during early suspend, but just changing it to GFP_ATOMIC seems to be the trivial fix. I'm not seeing any other issues with saving/restoring things with irq's disabled, but people should be on the lookout for details like this. Linus --
