Skip to content

Commit

Permalink
[PATCH] sil24: remove irq disable code on spurious interrupt
Browse files Browse the repository at this point in the history
02_sil24_remove-irq-disable-on-spurious-intr.patch

	If interrupt occurs on a disabled port, the driver used to
        mask the port's interrupt, but we don't know if such action is
        necessary yet and that's not what other drives do.  So, just
        do nothing and tell IRQ subsystem that it's not our interrupt.

Signed-off-by: Tejun Heo <htejun@gmail.com>

 sata_sil24.c |   15 +++++----------
 1 files changed, 5 insertions(+), 10 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
  • Loading branch information
Tejun Heo authored and Jeff Garzik committed Aug 17, 2005
1 parent 1483467 commit 3cc4571
Showing 1 changed file with 5 additions and 10 deletions.
15 changes: 5 additions & 10 deletions drivers/scsi/sata_sil24.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,17 +535,12 @@ static irqreturn_t sil24_interrupt(int irq, void *dev_instance, struct pt_regs *
for (i = 0; i < host_set->n_ports; i++)
if (status & (1 << i)) {
struct ata_port *ap = host_set->ports[i];
if (ap && !(ap->flags & ATA_FLAG_PORT_DISABLED))
if (ap && !(ap->flags & ATA_FLAG_PORT_DISABLED)) {
sil24_host_intr(host_set->ports[i]);
else {
u32 tmp;
printk(KERN_WARNING DRV_NAME
": spurious interrupt from port %d\n", i);
tmp = readl(hpriv->host_base + HOST_CTRL);
tmp &= ~(1 << i);
writel(tmp, hpriv->host_base + HOST_CTRL);
}
handled++;
handled++;
} else
printk(KERN_ERR DRV_NAME
": interrupt from disabled port %d\n", i);
}

spin_unlock(&host_set->lock);
Expand Down

0 comments on commit 3cc4571

Please sign in to comment.