diff options
Diffstat (limited to 'drivers/scsi/sata_promise.c')
-rw-r--r-- | drivers/scsi/sata_promise.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c index 000844a4129f..03c647cbfb59 100644 --- a/drivers/scsi/sata_promise.c +++ b/drivers/scsi/sata_promise.c | |||
@@ -76,7 +76,8 @@ enum { | |||
76 | PDC_RESET = (1 << 11), /* HDMA reset */ | 76 | PDC_RESET = (1 << 11), /* HDMA reset */ |
77 | 77 | ||
78 | PDC_COMMON_FLAGS = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | | 78 | PDC_COMMON_FLAGS = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | |
79 | ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI, | 79 | ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI | |
80 | ATA_FLAG_PIO_POLLING, | ||
80 | }; | 81 | }; |
81 | 82 | ||
82 | 83 | ||
@@ -534,11 +535,11 @@ static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *r | |||
534 | ap = host_set->ports[i]; | 535 | ap = host_set->ports[i]; |
535 | tmp = mask & (1 << (i + 1)); | 536 | tmp = mask & (1 << (i + 1)); |
536 | if (tmp && ap && | 537 | if (tmp && ap && |
537 | !(ap->flags & (ATA_FLAG_DISABLED | ATA_FLAG_NOINTR))) { | 538 | !(ap->flags & ATA_FLAG_DISABLED)) { |
538 | struct ata_queued_cmd *qc; | 539 | struct ata_queued_cmd *qc; |
539 | 540 | ||
540 | qc = ata_qc_from_tag(ap, ap->active_tag); | 541 | qc = ata_qc_from_tag(ap, ap->active_tag); |
541 | if (qc && (!(qc->tf.ctl & ATA_NIEN))) | 542 | if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) |
542 | handled += pdc_host_intr(ap, qc); | 543 | handled += pdc_host_intr(ap, qc); |
543 | } | 544 | } |
544 | } | 545 | } |