diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/libata-core.c | 1 | ||||
-rw-r--r-- | drivers/scsi/sata_mv.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index b046ffa22101..de9ba7890b5a 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) | |||
4297 | int ata_device_resume(struct ata_port *ap, struct ata_device *dev) | 4297 | int 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); |
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index 9b8bca1ac1f0..f16f92a6ec0f 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -2035,6 +2035,7 @@ static void mv_phy_reset(struct ata_port *ap) | |||
2035 | static void mv_eng_timeout(struct ata_port *ap) | 2035 | static void mv_eng_timeout(struct ata_port *ap) |
2036 | { | 2036 | { |
2037 | struct ata_queued_cmd *qc; | 2037 | struct ata_queued_cmd *qc; |
2038 | unsigned long flags; | ||
2038 | 2039 | ||
2039 | printk(KERN_ERR "ata%u: Entering mv_eng_timeout\n",ap->id); | 2040 | printk(KERN_ERR "ata%u: Entering mv_eng_timeout\n",ap->id); |
2040 | DPRINTK("All regs @ start of eng_timeout\n"); | 2041 | DPRINTK("All regs @ start of eng_timeout\n"); |
@@ -2046,8 +2047,10 @@ static void mv_eng_timeout(struct ata_port *ap) | |||
2046 | ap->host_set->mmio_base, ap, qc, qc->scsicmd, | 2047 | ap->host_set->mmio_base, ap, qc, qc->scsicmd, |
2047 | &qc->scsicmd->cmnd); | 2048 | &qc->scsicmd->cmnd); |
2048 | 2049 | ||
2050 | spin_lock_irqsave(&ap->host_set->lock, flags); | ||
2049 | mv_err_intr(ap, 0); | 2051 | mv_err_intr(ap, 0); |
2050 | mv_stop_and_reset(ap); | 2052 | mv_stop_and_reset(ap); |
2053 | spin_unlock_irqrestore(&ap->host_set->lock, flags); | ||
2051 | 2054 | ||
2052 | WARN_ON(!(qc->flags & ATA_QCFLAG_ACTIVE)); | 2055 | WARN_ON(!(qc->flags & ATA_QCFLAG_ACTIVE)); |
2053 | if (qc->flags & ATA_QCFLAG_ACTIVE) { | 2056 | if (qc->flags & ATA_QCFLAG_ACTIVE) { |