Messages in this thread Patch in this message | | | Date | Thu, 25 Nov 2004 12:34:00 +0100 | From | Pavel Machek <> | Subject | Re: [linux-pm] [PATCH] make pm_suspend_disk suspend/resume sysdev and dpm_off_irq |
| |
Hi!
> >> This patch makes the new swsusp code ( pm_suspend_disk since > >> 2.6.9-rc3) call suspend/resume functions for sysdev and devices in > >> dpm_off_irq list. Otherwise, PCI link device in the system won't > >> provide correct interrupt for PCI devices during resume. > > > > I do not think this is right approach; you enable interrupts > > then disable that again, potentially without interrupt controller > > being initialized. > > > > This should be better patch: > > Agreed. Your patch solves the bug. But do you plan to deal with the > devices in dpm_off_irq list?
Okay, this should be better patch. It works here.
Pavel
--- clean/kernel/power/swsusp.c 2004-10-19 14:16:29.000000000 +0200 +++ linux/kernel/power/swsusp.c 2004-11-25 12:27:35.000000000 +0100 @@ -854,11 +840,13 @@ if ((error = arch_prepare_suspend())) return error; local_irq_disable(); + device_power_down(3); save_processor_state(); error = swsusp_arch_suspend(); /* Restore control flow magically appears here */ restore_processor_state(); restore_highmem(); + device_power_up(); local_irq_enable(); return error; } @@ -878,6 +866,7 @@ { int error; local_irq_disable(); + device_power_down(3); /* We'll ignore saved state, but this gets preempt count (etc) right */ save_processor_state(); error = swsusp_arch_resume(); @@ -887,6 +876,7 @@ BUG_ON(!error); restore_processor_state(); restore_highmem(); + device_power_up(); local_irq_enable(); return error; } -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |