ahci: always clear all bits in irq_stat
authorTejun Heo <tj@kernel.org>
Fri, 27 Jun 2008 16:49:02 +0000 (01:49 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 4 Jul 2008 13:05:59 +0000 (09:05 -0400)
commitea0c62f7cf70f13a67830471b613337bd0c9a62e
treef57ec0dbe1f2ed1f8f038a0059ae4c72e98e602a
parent464b3286b4aa459059c6fda85ba55185fd21d9fc
ahci: always clear all bits in irq_stat

Some AHCI controllers (ICH7 was reported) set pending bit in
HOST_IRQ_STAT for non-existent ports and when it's not cleared falls
into IRQ storm.  Always clear full irq_stat instead of only the bits
that are handled.  As nothing changes for recognized ports, the risk
of breaking things is pretty low.

Reported and verified by Philipp Thomas in the following suse
bugzilla.

https://bugzilla.novell.com/attachment.cgi?id=215692

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Philipp Thomas <pth@novell.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ahci.c