From a9d96a6e1f57deea016cdf580d1fdee2ecef6df8 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sun, 16 Mar 2003 21:33:30 +0000 Subject: [PCI] pci-6 - Fix scanning of non-zero functions Fix breakage in pci-3 - we scanned all functions if function 0 was not present. This causes some host bridges to lock up when scanning devfn 255 on PPC machines. --- drivers/pci/probe.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 1c66d319f420..2715583870db 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -520,11 +520,14 @@ int __devinit pci_scan_slot(struct pci_bus *bus, int devfn) 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); -- cgit v1.2.3