diff options
Diffstat (limited to 'drivers/scsi/sata_mv.c')
-rw-r--r-- | drivers/scsi/sata_mv.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index 9321cdf45680..cd54244058b5 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -374,7 +374,6 @@ static struct scsi_host_template mv_sht = { | |||
374 | .dma_boundary = MV_DMA_BOUNDARY, | 374 | .dma_boundary = MV_DMA_BOUNDARY, |
375 | .slave_configure = ata_scsi_slave_config, | 375 | .slave_configure = ata_scsi_slave_config, |
376 | .bios_param = ata_std_bios_param, | 376 | .bios_param = ata_std_bios_param, |
377 | .ordered_flush = 1, | ||
378 | }; | 377 | }; |
379 | 378 | ||
380 | static const struct ata_port_operations mv5_ops = { | 379 | static const struct ata_port_operations mv5_ops = { |
@@ -431,7 +430,7 @@ static const struct ata_port_operations mv6_ops = { | |||
431 | .host_stop = mv_host_stop, | 430 | .host_stop = mv_host_stop, |
432 | }; | 431 | }; |
433 | 432 | ||
434 | static struct ata_port_info mv_port_info[] = { | 433 | static const struct ata_port_info mv_port_info[] = { |
435 | { /* chip_504x */ | 434 | { /* chip_504x */ |
436 | .sht = &mv_sht, | 435 | .sht = &mv_sht, |
437 | .host_flags = MV_COMMON_FLAGS, | 436 | .host_flags = MV_COMMON_FLAGS, |
@@ -1243,8 +1242,10 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1243 | VPRINTK("port %u IRQ found for qc, " | 1242 | VPRINTK("port %u IRQ found for qc, " |
1244 | "ata_status 0x%x\n", port,ata_status); | 1243 | "ata_status 0x%x\n", port,ata_status); |
1245 | /* mark qc status appropriately */ | 1244 | /* mark qc status appropriately */ |
1246 | if (!(qc->tf.ctl & ATA_NIEN)) | 1245 | if (!(qc->tf.ctl & ATA_NIEN)) { |
1247 | ata_qc_complete(qc, err_mask); | 1246 | qc->err_mask |= err_mask; |
1247 | ata_qc_complete(qc); | ||
1248 | } | ||
1248 | } | 1249 | } |
1249 | } | 1250 | } |
1250 | } | 1251 | } |
@@ -1865,7 +1866,8 @@ static void mv_eng_timeout(struct ata_port *ap) | |||
1865 | */ | 1866 | */ |
1866 | spin_lock_irqsave(&ap->host_set->lock, flags); | 1867 | spin_lock_irqsave(&ap->host_set->lock, flags); |
1867 | qc->scsidone = scsi_finish_command; | 1868 | qc->scsidone = scsi_finish_command; |
1868 | ata_qc_complete(qc, AC_ERR_OTHER); | 1869 | qc->err_mask |= AC_ERR_OTHER; |
1870 | ata_qc_complete(qc); | ||
1869 | spin_unlock_irqrestore(&ap->host_set->lock, flags); | 1871 | spin_unlock_irqrestore(&ap->host_set->lock, flags); |
1870 | } | 1872 | } |
1871 | } | 1873 | } |