diff options
Diffstat (limited to 'drivers/scsi/sata_mv.c')
-rw-r--r-- | drivers/scsi/sata_mv.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index 3e916327ae37..5b36a23455de 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -87,7 +87,7 @@ enum { | |||
87 | MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ | 87 | MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ |
88 | MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 88 | MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
89 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | | 89 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | |
90 | ATA_FLAG_NO_ATAPI), | 90 | ATA_FLAG_PIO_POLLING), |
91 | MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, | 91 | MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, |
92 | 92 | ||
93 | CRQB_FLAG_READ = (1 << 0), | 93 | CRQB_FLAG_READ = (1 << 0), |
@@ -1387,8 +1387,7 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1387 | handled++; | 1387 | handled++; |
1388 | } | 1388 | } |
1389 | 1389 | ||
1390 | if (ap && | 1390 | if (ap && (ap->flags & ATA_FLAG_PORT_DISABLED)) |
1391 | (ap->flags & (ATA_FLAG_PORT_DISABLED | ATA_FLAG_NOINTR))) | ||
1392 | continue; | 1391 | continue; |
1393 | 1392 | ||
1394 | err_mask = ac_err_mask(ata_status); | 1393 | err_mask = ac_err_mask(ata_status); |
@@ -1409,7 +1408,7 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1409 | VPRINTK("port %u IRQ found for qc, " | 1408 | VPRINTK("port %u IRQ found for qc, " |
1410 | "ata_status 0x%x\n", port,ata_status); | 1409 | "ata_status 0x%x\n", port,ata_status); |
1411 | /* mark qc status appropriately */ | 1410 | /* mark qc status appropriately */ |
1412 | if (!(qc->tf.ctl & ATA_NIEN)) { | 1411 | if (!(qc->tf.flags & ATA_TFLAG_POLLING)) { |
1413 | qc->err_mask |= err_mask; | 1412 | qc->err_mask |= err_mask; |
1414 | ata_qc_complete(qc); | 1413 | ata_qc_complete(qc); |
1415 | } | 1414 | } |