aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-core.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-06-19 21:01:27 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-19 21:01:27 -0400
commit1cca0ebbb74298958dae1d1d3e7e9287c98a720c (patch)
treeb41fa520bf848584a91e4e0d9fd3aa22d99c0f86 /drivers/scsi/libata-core.c
parent427abfa28afedffadfca9dd8b067eb6d36bac53f (diff)
Improve SATA core suspend/resume
Doing a full ata_busy_sleep() seems to get suspend and resume working fine on the Apple Mac Mini, at least. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/scsi/libata-core.c')
-rw-r--r--drivers/scsi/libata-core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index b046ffa2210..de9ba7890b5 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -4297,6 +4297,7 @@ static int ata_start_drive(struct ata_port *ap, struct ata_device *dev)
4297int ata_device_resume(struct ata_port *ap, struct ata_device *dev) 4297int ata_device_resume(struct ata_port *ap, struct ata_device *dev)
4298{ 4298{
4299 if (ap->flags & ATA_FLAG_SUSPENDED) { 4299 if (ap->flags & ATA_FLAG_SUSPENDED) {
4300 ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT);
4300 ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 200000); 4301 ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 200000);
4301 ap->flags &= ~ATA_FLAG_SUSPENDED; 4302 ap->flags &= ~ATA_FLAG_SUSPENDED;
4302 ata_set_mode(ap); 4303 ata_set_mode(ap);