diff options
Diffstat (limited to 'arch/x86/pci/early.c')
-rw-r--r-- | arch/x86/pci/early.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/x86/pci/early.c b/arch/x86/pci/early.c index f6adf2c6d751..c1a2cd541724 100644 --- a/arch/x86/pci/early.c +++ b/arch/x86/pci/early.c | |||
@@ -96,18 +96,21 @@ void early_dump_pci_devices(void) | |||
96 | for (func = 0; func < 8; func++) { | 96 | for (func = 0; func < 8; func++) { |
97 | u32 class; | 97 | u32 class; |
98 | u8 type; | 98 | u8 type; |
99 | |||
99 | class = read_pci_config(bus, slot, func, | 100 | class = read_pci_config(bus, slot, func, |
100 | PCI_CLASS_REVISION); | 101 | PCI_CLASS_REVISION); |
101 | if (class == 0xffffffff) | 102 | if (class == 0xffffffff) |
102 | break; | 103 | continue; |
103 | 104 | ||
104 | early_dump_pci_device(bus, slot, func); | 105 | early_dump_pci_device(bus, slot, func); |
105 | 106 | ||
106 | /* No multi-function device? */ | 107 | if (func == 0) { |
107 | type = read_pci_config_byte(bus, slot, func, | 108 | type = read_pci_config_byte(bus, slot, |
109 | func, | ||
108 | PCI_HEADER_TYPE); | 110 | PCI_HEADER_TYPE); |
109 | if (!(type & 0x80)) | 111 | if (!(type & 0x80)) |
110 | break; | 112 | break; |
113 | } | ||
111 | } | 114 | } |
112 | } | 115 | } |
113 | } | 116 | } |