Преглед на файлове

[SPARC64]: Check of_get_property() return in pci_determine_mem_io_space().

If the PCI controller lacks the 'ranges' property nothing
is going to work.

Noticed by Al Viro.

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller преди 17 години
родител
ревизия
4209ab098c
променени са 1 файла, в които са добавени 7 реда и са изтрити 0 реда
  1. 7 0
      arch/sparc64/kernel/pci_common.c

+ 7 - 0
arch/sparc64/kernel/pci_common.c

@@ -396,6 +396,13 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
 
 	saw_mem = saw_io = 0;
 	pbm_ranges = of_get_property(pbm->prom_node, "ranges", &i);
+	if (!pbm_ranges) {
+		prom_printf("PCI: Fatal error, missing PBM ranges property "
+			    " for %s\n",
+			    pbm->name);
+		prom_halt();
+	}
+
 	num_pbm_ranges = i / sizeof(*pbm_ranges);
 
 	for (i = 0; i < num_pbm_ranges; i++) {