One of our customers has a Fujitsu laptop, poor thing... It shares IRQ10 between Eepro, additional IDE for CD-ROM (CMD646), and USB controllers. I talked this over with DaveM briefly, and if I understood him right, something like the attached patch may be in order. Anyone cares to comment? Thank you, -- Pete diff -ur -X dontdiff linux-2.4.4/include/linux/ide.h linux-2.4.4-niph/include/linux/ide.h --- linux-2.4.4/include/linux/ide.h Fri Apr 27 15:48:56 2001 +++ linux-2.4.4-niph/include/linux/ide.h Thu May 3 23:03:27 2001 @@ -408,6 +408,10 @@ ide_pmac } hwif_chipset_t; +#define IDE_CHIPSET_PCI_MASK \ + ((1<<ide_pci)|(1<<ide_cmd646)|(1<<ide_ali14xx)) +#define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1) + #ifdef CONFIG_BLK_DEV_IDEPCI typedef struct ide_pci_devid_s { unsigned short vid; diff -ur -X dontdiff linux-2.4.4/drivers/ide/ide-probe.c linux-2.4.4-niph/drivers/ide/ide-probe.c --- linux-2.4.4/drivers/ide/ide-probe.c Sun Mar 18 09:25:02 2001 +++ linux-2.4.4-niph/drivers/ide/ide-probe.c Thu May 3 23:07:37 2001 @@ -681,9 +681,9 @@ */ if (!match || match->irq != hwif->irq) { #ifdef CONFIG_IDEPCI_SHARE_IRQ - int sa = (hwif->chipset == ide_pci) ? SA_SHIRQ : SA_INTERRUPT; + int sa = IDE_CHIPSET_IS_PCI(hwif->chipset) ? SA_SHIRQ : SA_INTERRUPT; #else /* !CONFIG_IDEPCI_SHARE_IRQ */ - int sa = (hwif->chipset == ide_pci) ? SA_INTERRUPT|SA_SHIRQ : SA_INTERRUPT; + int sa = IDE_CHIPSET_IS_PCI(hwif->chipset) ? SA_INTERRUPT|SA_SHIRQ : +SA_INTERRUPT; #endif /* CONFIG_IDEPCI_SHARE_IRQ */ if (ide_request_irq(hwif->irq, &ide_intr, sa, hwif->name, hwgroup)) { if (!match) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/