diff options
Diffstat (limited to 'drivers/scsi/sata_mv.c')
-rw-r--r-- | drivers/scsi/sata_mv.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index 634bab17a6bb..4a71578df3c1 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -2040,6 +2040,7 @@ static void mv_phy_reset(struct ata_port *ap) | |||
2040 | static void mv_eng_timeout(struct ata_port *ap) | 2040 | static void mv_eng_timeout(struct ata_port *ap) |
2041 | { | 2041 | { |
2042 | struct ata_queued_cmd *qc; | 2042 | struct ata_queued_cmd *qc; |
2043 | unsigned long flags; | ||
2043 | 2044 | ||
2044 | ata_port_printk(ap, KERN_ERR, "Entering mv_eng_timeout\n"); | 2045 | ata_port_printk(ap, KERN_ERR, "Entering mv_eng_timeout\n"); |
2045 | DPRINTK("All regs @ start of eng_timeout\n"); | 2046 | DPRINTK("All regs @ start of eng_timeout\n"); |
@@ -2051,8 +2052,10 @@ static void mv_eng_timeout(struct ata_port *ap) | |||
2051 | ap->host_set->mmio_base, ap, qc, qc->scsicmd, | 2052 | ap->host_set->mmio_base, ap, qc, qc->scsicmd, |
2052 | &qc->scsicmd->cmnd); | 2053 | &qc->scsicmd->cmnd); |
2053 | 2054 | ||
2055 | spin_lock_irqsave(&ap->host_set->lock, flags); | ||
2054 | mv_err_intr(ap, 0); | 2056 | mv_err_intr(ap, 0); |
2055 | mv_stop_and_reset(ap); | 2057 | mv_stop_and_reset(ap); |
2058 | spin_unlock_irqrestore(&ap->host_set->lock, flags); | ||
2056 | 2059 | ||
2057 | WARN_ON(!(qc->flags & ATA_QCFLAG_ACTIVE)); | 2060 | WARN_ON(!(qc->flags & ATA_QCFLAG_ACTIVE)); |
2058 | if (qc->flags & ATA_QCFLAG_ACTIVE) { | 2061 | if (qc->flags & ATA_QCFLAG_ACTIVE) { |