On Fri, May 12 2006, zhao, forrest wrote: > On Thu, 2006-05-11 at 12:55 +0200, Jens Axboe wrote: > > run dmesg prior to suspending, then it'll be cached and can be run after > > resume even if the disk doesn't want to talk to you. > > > > Don't know why the mails with attached files were not sent to mailing > list, so I put them at > http://www.infradead.org/~forrest/suspend-resume-dmesg/ The key is the 0xef timeout, then the device is offlined and you see a lot of io errors due to that. Try this: diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index bd14720..f120839 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -4288,6 +4288,7 @@ int ata_device_resume(struct ata_port *a { if (ap->flags & ATA_FLAG_SUSPENDED) { ap->flags &= ~ATA_FLAG_SUSPENDED; + mdelay(2000); ata_set_mode(ap); } if (!ata_dev_present(dev)) -- Jens Axboe - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html