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 aceaf56999a5..692c63bdcff8 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), |
@@ -1388,8 +1388,7 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1388 | handled++; | 1388 | handled++; |
1389 | } | 1389 | } |
1390 | 1390 | ||
1391 | if (ap && | 1391 | if (ap && (ap->flags & ATA_FLAG_PORT_DISABLED)) |
1392 | (ap->flags & (ATA_FLAG_PORT_DISABLED | ATA_FLAG_NOINTR))) | ||
1393 | continue; | 1392 | continue; |
1394 | 1393 | ||
1395 | err_mask = ac_err_mask(ata_status); | 1394 | err_mask = ac_err_mask(ata_status); |
@@ -1410,7 +1409,7 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, | |||
1410 | VPRINTK("port %u IRQ found for qc, " | 1409 | VPRINTK("port %u IRQ found for qc, " |
1411 | "ata_status 0x%x\n", port,ata_status); | 1410 | "ata_status 0x%x\n", port,ata_status); |
1412 | /* mark qc status appropriately */ | 1411 | /* mark qc status appropriately */ |
1413 | if (!(qc->tf.ctl & ATA_NIEN)) { | 1412 | if (!(qc->tf.flags & ATA_TFLAG_POLLING)) { |
1414 | qc->err_mask |= err_mask; | 1413 | qc->err_mask |= err_mask; |
1415 | ata_qc_complete(qc); | 1414 | ata_qc_complete(qc); |
1416 | } | 1415 | } |