Merge branch 'upstream-fixes' into upstream
authorJeff Garzik <jeff@garzik.org>
Sun, 28 May 2006 20:32:59 +0000 (16:32 -0400)
committerJeff Garzik <jeff@garzik.org>
Sun, 28 May 2006 20:32:59 +0000 (16:32 -0400)
Conflicts:

drivers/scsi/libata-core.c

1  2 
drivers/scsi/libata-core.c

@@@ -5015,20 -4294,17 +5015,23 @@@ static int ata_start_drive(struct ata_d
   *    and host.
   *
   */
 -int ata_device_resume(struct ata_port *ap, struct ata_device *dev)
 +int ata_device_resume(struct ata_device *dev)
  {
 +      struct ata_port *ap = dev->ap;
 +
        if (ap->flags & ATA_FLAG_SUSPENDED) {
 +              struct ata_device *failed_dev;
++
+               ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 200000);
++
                ap->flags &= ~ATA_FLAG_SUSPENDED;
 -              ata_set_mode(ap);
 +              while (ata_set_mode(ap, &failed_dev))
 +                      ata_dev_disable(failed_dev);
        }
 -      if (!ata_dev_present(dev))
 +      if (!ata_dev_enabled(dev))
                return 0;
        if (dev->class == ATA_DEV_ATA)
 -              ata_start_drive(ap, dev);
 +              ata_start_drive(dev);
  
        return 0;
  }