Re: BISECTED: 2.6.29-rc2 regression: hibernation hang on eeepc-701

From: Rafael J. Wysocki
Date: Thu Jan 22 2009 - 07:45:21 EST


On Thursday 22 January 2009, Alan Jenkins wrote:
> Alan Jenkins wrote:
> > Hibernation hangs just after writing the image. With s2disk I can see
> > this from the console messages. The same hang happens with kernel
> > swsusp ('echo disk | sudo tee /sys/power/state'), and I can see that
> > the image has been written from the HDD led.
> >
> > In either case, I can still hard-power-off and resume from hibernation.
> >
> > It doesn't hang if I use the shutdown method (either 'echo shutdown |
> > sudo tee /sys/power/disk' or 's2disk -P "shutdown method=shutdown"').
> >
>
> I've bisected this to commit 571ff7584bb9e05fca0eb79752ae55a46faf3a98.
> It doesn't revert cleanly from RC2.
>
> I think it's distinct from the other two reported suspend regressions.
> I'm not using acpi-cpufreq, and the issue doesn't affect resume.

It looks distinct.

Do you suspend this box to RAM and does it work?

Please retest with the appended patch applied.

Thanks,
Rafael


---
drivers/pci/pci-driver.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Index: linux-2.6/drivers/pci/pci-driver.c
===================================================================
--- linux-2.6.orig/drivers/pci/pci-driver.c
+++ linux-2.6/drivers/pci/pci-driver.c
@@ -660,7 +660,10 @@ static int pci_pm_poweroff(struct device
if (pci_has_legacy_pm_support(pci_dev))
return pci_legacy_suspend(dev, PMSG_HIBERNATE);

- if (drv && drv->pm && drv->pm->poweroff) {
+ if (!drv || !drv->pm)
+ return 0;
+
+ if (drv->pm->poweroff) {
error = drv->pm->poweroff(dev);
suspend_report_result(drv->pm->poweroff, error);
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/