• Bartlomiej Zolnierkiewicz's avatar
    [ide] PCI quirk for ICH3-M IDE · e04fb130
    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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    e04fb130
quirks.c 41.7 KB