diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2006-12-10 05:20:39 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-10 12:57:20 -0500 |
commit | ee2f344b33b507af23610c8fdfdde38d7c10fb33 (patch) | |
tree | 7908a16d267168a74178aad61e30a82590ca6aac /drivers/ide/pci | |
parent | 33859f7f9788da2ac9aa23be4dc8e948112809ca (diff) |
[PATCH] ide-cd: Handle strange interrupt on the Intel ESB2
The ESB2 appears to emit spurious DMA interrupts when configured for native
mode and handling ATAPI devices. Stratus were able to pin this bug down and
produce a patch. This is a rework which applies the fixup only to the ESB2
(for now). We can apply it to other chips later if the same problem is found.
This code has been tested and confirmed to fix the problem on the tested
systems.
Signed-off-by: Alan Cox <alan@redhat.com>
(Most of the hard work done by Stratus however)
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/ide/pci')
-rw-r--r-- | drivers/ide/pci/piix.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c index cdc3aab9ebcb..b1e9a8eba6b6 100644 --- a/drivers/ide/pci/piix.c +++ b/drivers/ide/pci/piix.c | |||
@@ -505,6 +505,10 @@ static void __devinit init_hwif_piix(ide_hwif_t *hwif) | |||
505 | /* This is a painful system best to let it self tune for now */ | 505 | /* This is a painful system best to let it self tune for now */ |
506 | return; | 506 | return; |
507 | } | 507 | } |
508 | /* ESB2 appears to generate spurious DMA interrupts in PIO mode | ||
509 | when in native mode */ | ||
510 | if (hwif->pci_dev->device == PCI_DEVICE_ID_INTEL_ESB2_18) | ||
511 | hwif->atapi_irq_bogon = 1; | ||
508 | 512 | ||
509 | hwif->autodma = 0; | 513 | hwif->autodma = 0; |
510 | hwif->tuneproc = &piix_tune_drive; | 514 | hwif->tuneproc = &piix_tune_drive; |