pata_legacy: fix io/irq mismatch
authorMikael Pettersson <mikpe@it.uu.se>
Sat, 3 Mar 2007 19:57:44 +0000 (20:57 +0100)
committerJeff Garzik <jeff@garzik.org>
Tue, 6 Mar 2007 09:04:30 +0000 (04:04 -0500)
commit8b966dddc29899008fb178a533263afa8d1ad849
tree7218755b2b5dd34606b9a1b0d27e1e3bbfa57134
parent8af12cdb7c4aa9ed278ed71a8b5b130f2d8c8920
pata_legacy: fix io/irq mismatch

pata_legacy fails to detect the disk on my old ISA/VLB 486:
it starts to probe io=0x1f0 ctr=0x3f6 irq=15, complains
loudly about IDENTIFYs timing out, and finally fails.
(Sorry I couldn't capture the kernel's boot messages.)

It turns out that the driver's mapping from io to irq in
legacy_irq[] is wrong: index 0 for io=0x1f0 has irq=15 but
should have irq=14, and index 1 for io=0x170 has irq=14 but
should have irq=15. This is confirmed by a comparison with
include/asm-i386/ide.h:ide_default_irq().

This patch swaps the first two elements in legacy_irq[],
which makes pata_legacy work on my 486.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/pata_legacy.c