Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.osdl.org>2004-02-13 19:43:14 -0800
committerLinus Torvalds <torvalds@home.osdl.org>2004-02-13 19:43:14 -0800
commit5671cf331a4431967220c031100832db6f223e46 (patch)
tree910d84284b5a3b5c3d22fc22ac9c4c1d3fc5d682
parentcab892f99e5bede66787c137ac6b4a82716eee33 (diff)
parent565a2c74da14c89dadc1717180d26a67fca6c72d (diff)
Merge bk://gkernel.bkbits.net/libata-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
-rw-r--r--drivers/scsi/libata-core.c36
1 files changed, 0 insertions, 36 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index a5872d0942ab..d7a16a28c540 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -2386,41 +2386,6 @@ static inline unsigned int ata_host_intr (struct ata_port *ap,
}
/**
- * ata_chk_spurious_int - Check for spurious interrupts
- * @ap: port to which command is being issued
- *
- * Examines the DMA status registers and clears
- * unexpected interrupts. Created to work around
- * hardware bug on Intel ICH5, but is applied to all
- * chipsets using the standard irq handler, just for safety.
- * If the bug is not present, this is simply a single
- * PIO or MMIO read addition to the irq handler.
- *
- * LOCKING:
- */
-static inline void ata_chk_spurious_int(struct ata_port *ap) {
- int host_stat;
-
- if (ap->flags & ATA_FLAG_MMIO) {
- void *mmio = (void *) ap->ioaddr.bmdma_addr;
- host_stat = readb(mmio + ATA_DMA_STATUS);
- } else
- host_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
-
- if ((host_stat & (ATA_DMA_INTR | ATA_DMA_ERR | ATA_DMA_ACTIVE)) == ATA_DMA_INTR) {
- if (ap->flags & ATA_FLAG_MMIO) {
- void *mmio = (void *) ap->ioaddr.bmdma_addr;
- writeb(host_stat & ~ATA_DMA_ERR, mmio + ATA_DMA_STATUS);
- } else
- outb(host_stat & ~ATA_DMA_ERR, ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
-
- DPRINTK("ata%u: Caught spurious interrupt, status 0x%X\n", ap->id, host_stat);
- udelay(1);
- }
-}
-
-
-/**
* ata_interrupt -
* @irq:
* @dev_instance:
@@ -2452,7 +2417,6 @@ irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs)
qc = ata_qc_from_tag(ap, ap->active_tag);
if (qc && ((qc->flags & ATA_QCFLAG_POLL) == 0))
handled += ata_host_intr(ap, qc);
- ata_chk_spurious_int(ap);
}
}