> is not correclty supported by libata as the pdev->irq field > has no valid interrupt set. This is due to the legacy IRQ > check in ata_pci_sff_activate_host() only checking to see > if the device class is legacy, not that the IRQ has been > setup. It does that check as that is the correct check to do. If the device is in native mode with no assigned IRQ we must poll, we cannot assume that legacy interrupts are in use. > Change ata_pci_sff_activate_host() to try the legacy IRQ > numbers (which works correctly) when the dev->irq has not > been set. The current check for !legacy_mode && dev->irq > does not deal with devices that are not in legacy mode > but do not have mapped interrupts. If they have no mapped interrupt and are not in legacy mode then they have no interrupt we can use and we should poll. Your assumption that if no IRQ is assigned we should use the legacy interrupts is incorrect for PC class systems. Can you not correct this with a PCI quirk handler for your board instead ? Alan -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html