From: Folke Ashberg I have an HPT372A (rev 02) (PCI_DEVICE_ID_TTI_HPT372) and since 2.6.8 i've got an Ooooops. I saw that hpt366.c got support for HPT372_N_ and its special timings, but that timings have been used for my HPT372_A_ and caused the Oops. Signed-off-by: Andrew Morton --- 25-akpm/drivers/ide/pci/hpt366.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/ide/pci/hpt366.c~hpt366c-wrong-timings-used-since-268 drivers/ide/pci/hpt366.c --- 25/drivers/ide/pci/hpt366.c~hpt366c-wrong-timings-used-since-268 2004-09-08 13:11:19.555004896 -0700 +++ 25-akpm/drivers/ide/pci/hpt366.c 2004-09-08 13:11:19.559004288 -0700 @@ -875,7 +875,7 @@ static int __devinit init_hpt37x(struct /* interrupt force enable */ pci_write_config_byte(dev, 0x5a, (reg5ah & ~0x10)); - if(dmabase) + if (dev->device == PCI_DEVICE_ID_TTI_HPT372N && dmabase) { did = inb(dmabase + 0x22); rid = inb(dmabase + 0x28); @@ -1126,7 +1126,7 @@ static void __devinit init_hwif_hpt366(i unsigned long dmabase = hwif->dma_base; int is_372n = 0; - if(dmabase) + if (dev->device == PCI_DEVICE_ID_TTI_HPT372N && dmabase) { did = inb(dmabase + 0x22); rid = inb(dmabase + 0x28); _