Re: s2disk hangs with kernel >=2.6.29, SATA, Gigabyte EG45M-DS2H (bisected)

Bartlomiej Zolnierkiewicz
2009-05-17T23:14:39Z

On Sunday 17 May 2009 00:51:53 Richard Atterer wrote:
> Hello,
>
> I have had problems using s2disk starting sometime before 2.6.29 (and
> continuing up until now, 2.6.30-rc6), but only got around to bisecting the
> issue now.
>
> The symptom is as follows: When I start s2disk (by running the hibernate
> command), the system switches to the console and prints "s2disk:
> Snapshotting system". The cursor freezes for a moment, I hear the noise
> that my DVD writer makes when it is reset, the lights of my USB hub go off
> and on again. Then the cursor continues to blink and nothing more happens,
> the system just hangs.
>
> I have a Gigabyte EG45M-DS2H motherboard with two disks attached: One SATA
> disk containing Linux, and one older PATA disk with data. AHCI is enabled
> in the BIOS.
>
> The patch that causes the hang is 295f00042aaf6b553b5f37348f89bab463d4a469:
> ide: don't execute the next queued command from the hard-IRQ context (v2)

Hmm, this should have been fixed by:

commit 2ea5521022ac8f4f528dcbae02668e02a3501a5a
Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Wed Jan 14 19:19:04 2009 +0100

ide: fix suspend regression

On Monday 12 January 2009, Simon Holm Thøgersen wrote:
> commit 295f000 ("ide: don't execute the next queued command from the
> hard-IRQ context (v2)") breaks suspend to disk for me. On
> 'echo disk > /sys/power/state' the systems hangs, letting me switch
> virtual consoles, but not responding to Alt+SysRq

Restart the request queue early for REQ_TYPE_PM_RESUME requests
(though there is only one resume request for the whole resume
sequence it stays in the queue until is fully completed and now
depends on kblockd for processing consequential resume states).

Reported-and-bisected-by: Simon Holm Thøgersen <odie@cs.aau.dk>
Tested-by: Simon Holm Thøgersen <odie@cs.aau.dk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

What was the last 'good' kernel that you've started bisection with?

Thanks,
Bart