aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_sis.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-09-22 23:37:05 -0400
committerJeff Garzik <jeff@garzik.org>2007-09-25 21:30:56 -0400
commit228f47b959a0cf2e24c9696757c7e6510334e499 (patch)
tree06c5b45c34f59b70aa7266e0c84bf3c1b1283c7f /drivers/ata/sata_sis.c
parent4942de4a0e914f205d351a81873f4f63986bcc3c (diff)
sata_sil24: fix IRQ clearing race when PCIX_IRQ_WOC is used
When PCIX_IRQ_WOC is used, sil24 has an inherent race condition between clearing IRQ pending and reading IRQ status. If IRQ pending is cleared after reading IRQ status, there's possibility of lost IRQ. If IRQ pending is cleared before reading IRQ status, spurious IRQs will occur. sata_sil24 till now cleared IRQ pending after reading IRQ status thus losing IRQs on machines where PCIX_IRQ_WOC was used. Reverse the order and ignore spurious IRQs if PCIX_IRQ_WOC. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/sata_sis.c')
0 files changed, 0 insertions, 0 deletions