--- linux-2.4.19-ac1/drivers/pci/quirks.c.orig Sat Aug 3 02:39:44 2002 +++ linux-2.4.19-ac1/drivers/pci/quirks.c Sun Aug 4 14:19:45 2002 @@ -472,6 +472,28 @@ } /* + * Fix up IDE region of the ServerWorks OSB5 Chipset + * The Intel OEM SCB2 Board and the SR1200 Server seem + * to need this, else you will get only PIO on the builtin + * IDE interface. -- hps 20020804 + */ + +static void __init quirk_osb5 (struct pci_dev * dev ) +{ + struct resource *r; + int idx; + + printk(KERN_INFO "Checking ServerWorks OSB5 IDE BIOS Setup\n"); + + for(idx=0; idx<6; idx++) { + r = &dev->resource[idx]; + + if(!r->start && r->end) + pci_assign_resource(dev, idx); + } +} + +/* * The main table of quirks. */ @@ -525,6 +547,7 @@ { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic }, { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_FE_GATE_700C, quirk_amd_ordering }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE, quirk_osb5 }, { 0 } };