25-akpm/drivers/pci/probe.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff -puN drivers/pci/probe.c~pci-6 drivers/pci/probe.c --- 25/drivers/pci/probe.c~pci-6 Thu Mar 13 15:48:53 2003 +++ 25-akpm/drivers/pci/probe.c Thu Mar 13 15:48:53 2003 @@ -520,11 +520,14 @@ int __devinit pci_scan_slot(struct pci_b struct pci_dev *dev; dev = pci_scan_device(bus, devfn); - if (!dev) - continue; - - if (func != 0) + if (func == 0) { + if (!dev) + break; + } else { + if (!dev) + continue; dev->multifunction = 1; + } /* Fix up broken headers */ pci_fixup_device(PCI_FIXUP_HEADER, dev); _