提交 ad6e90f6 编写于 作者: T Tejun Heo 提交者: Jeff Garzik

[PATCH] sil24: ignore non-error exception irqs

01_sil24_ignore-non-error-exception-irqs.patch

	Do not error-finish commands for non-error exception irqs -
	just ignore them.  This is taken from Edward's driver.
Signed-off-by: NTejun Heo <htejun@gmail.com>

 sata_sil24.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
上级 012e060c
......@@ -489,12 +489,21 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat)
u32 irq_stat, cmd_err, sstatus, serror;
irq_stat = readl(port + PORT_IRQ_STAT);
writel(irq_stat, port + PORT_IRQ_STAT); /* clear irq */
if (!(irq_stat & PORT_IRQ_ERROR)) {
/* ignore non-completion, non-error irqs for now */
printk(KERN_WARNING DRV_NAME
"ata%u: non-error exception irq (irq_stat %x)\n",
ap->id, irq_stat);
return;
}
cmd_err = readl(port + PORT_CMD_ERR);
sstatus = readl(port + PORT_SSTATUS);
serror = readl(port + PORT_SERROR);
/* Clear IRQ/errors */
writel(irq_stat, port + PORT_IRQ_STAT);
if (cmd_err)
writel(cmd_err, port + PORT_CMD_ERR);
if (serror)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册