-
Bartlomiej Zolnierkiewicz authored
From: Jim Paris <jim@jtan.com> Bartlomiej: I have an ICH3-M controller on my laptop. The BIOS is leaving the prog-if as 0x8E (primary = legacy, secondary = native). When the PCI interrupt is routed (either in the IDE driver's pci_enable_device, or earlier if pci=routeirq is used), unhandled interrupts cause IRQ 9 to be disabled, breaking most of my other hardware. This seems to be caused by having the nonexistant secondary interface set to native mode. According to the datasheet I checked, having different modes for primary/secondary is not an allowed combination anyway, so the following PCI quirk checks for this case and forces both interfaces to legacy if true. It may make sense to make this more generic (this problem may affect other PCI IDs as well), or it may be better solved in the IDE driver, at least when pci=routeirq is not used. But the following patch does work well for me. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
e04fb130