Semi-working patch for amd64 suspend/resume

Andrey V. Elsukov bu7cher at
Sun Dec 14 21:30:13 PST 2008

Nate Lawson wrote:
>> #7  0xffffffff80551631 in device_attach (dev=0xffffff000772fb00) at
>> bus_if.h:46
>> #8  0xffffffff805529ea in bus_generic_attach (dev=Variable "dev" is not
>> available.
>> ) at /usr/src/sys/kern/subr_bus.c:2953
>> #9  0xffffffff8024c2f7 in ata_identify (dev=0xffffff0001559a00) at
>> /usr/src/sys/dev/ata/ata-all.c:713
>> #10 0xffffffff80254d22 in ata_sata_phy_event (context=Variable "context"
>> is not available.
>> ) at /usr/src/sys/dev/ata/ata-sata.c:69
>> #11 0xffffffff8056155a in taskqueue_run (queue=0xffffff0001499780) at
>> /usr/src/sys/kern/subr_taskqueue.c:282
>> #12 0xffffffff80561802 in taskqueue_thread_loop (arg=Variable "arg" is
>> not available.
> ATA should be disabling its SATA PHY task during suspend, then
> re-enabling it after resume. Looks like it doesn't do this.

It seems that resuming of ATA controller is already done.
AHCI interrupts are enabled and PHY state was changed.
And task are doing attach of hot-plugged device..
So, Alex, can you show output of a kgdb command:
(kgdb) p "%s", msgbufp->msg_ptr

WBR, Andrey V. Elsukov

More information about the freebsd-amd64 mailing list