X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=arch%2Fi386%2Fpci%2Fcommon.c;h=3f78d4d8ecf31a00798e00790e52a81404a4cee0;hb=add096909da63ef32d6766f6771c07c9f16c6ee5;hp=1bb069372143caa99c30f33c7f4484e5c1d930e6;hpb=9654640d0af8f2de40ff3807d3695109d3463f54;p=linux-2.6-omap-h63xx.git diff --git a/arch/i386/pci/common.c b/arch/i386/pci/common.c index 1bb06937214..3f78d4d8ecf 100644 --- a/arch/i386/pci/common.c +++ b/arch/i386/pci/common.c @@ -191,6 +191,14 @@ static struct dmi_system_id __devinitdata pciprobe_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2950"), }, }, + { + .callback = set_bf_sort, + .ident = "Dell PowerEdge R900", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell"), + DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R900"), + }, + }, { .callback = set_bf_sort, .ident = "HP ProLiant BL20p G3", @@ -426,11 +434,13 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) if ((err = pcibios_enable_resources(dev, mask)) < 0) return err; - return pcibios_enable_irq(dev); + if (!dev->msi_enabled) + return pcibios_enable_irq(dev); + return 0; } void pcibios_disable_device (struct pci_dev *dev) { - if (pcibios_disable_irq) + if (!dev->msi_enabled && pcibios_disable_irq) pcibios_disable_irq(dev); }