summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sata_mv.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-12-06 04:52:48 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-12-06 04:52:48 -0500
commit701db69d6647f61e4660c9102d7f2fd5dffc203d (patch)
treee3ebe94f72b4bbdfad608d77d7b11719022b8c9b /drivers/scsi/sata_mv.c
parent6cf5bcaaf9a92225017f7a3f1a630f6b5147ad4a (diff)
parentfe79e683ccdb29c13b3e0d18507474b4e2d9aab6 (diff)
downloadblackbird-op-linux-701db69d6647f61e4660c9102d7f2fd5dffc203d.tar.gz
blackbird-op-linux-701db69d6647f61e4660c9102d7f2fd5dffc203d.zip
Merge branch 'upstream'
Diffstat (limited to 'drivers/scsi/sata_mv.c')
-rw-r--r--drivers/scsi/sata_mv.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c
index edd0afa852eb..ef148acb5eeb 100644
--- a/drivers/scsi/sata_mv.c
+++ b/drivers/scsi/sata_mv.c
@@ -431,7 +431,7 @@ static const struct ata_port_operations mv6_ops = {
.host_stop = mv_host_stop,
};
-static struct ata_port_info mv_port_info[] = {
+static const struct ata_port_info mv_port_info[] = {
{ /* chip_504x */
.sht = &mv_sht,
.host_flags = MV_COMMON_FLAGS,
@@ -1242,8 +1242,10 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant,
VPRINTK("port %u IRQ found for qc, "
"ata_status 0x%x\n", port,ata_status);
/* mark qc status appropriately */
- if (!(qc->tf.flags & ATA_TFLAG_POLLING))
+ if (!(qc->tf.flags & ATA_TFLAG_POLLING)) {
+ qc->err_mask |= err_mask;
ata_qc_complete(qc, err_mask);
+ }
}
}
}
@@ -1864,7 +1866,8 @@ static void mv_eng_timeout(struct ata_port *ap)
*/
spin_lock_irqsave(&ap->host_set->lock, flags);
qc->scsidone = scsi_finish_command;
- ata_qc_complete(qc, AC_ERR_OTHER);
+ qc->err_mask |= AC_ERR_OTHER;
+ ata_qc_complete(qc);
spin_unlock_irqrestore(&ap->host_set->lock, flags);
}
}
OpenPOWER on IntegriCloud