Commit 329c68b2 authored by David S. Miller's avatar David S. Miller
Browse files

[SPARC64]: Make lack of interrupt-map-* a fatal error on SUN4V.

parent abd92b2d
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -954,20 +954,21 @@ static void pci_sun4v_pbm_init(struct pci_controller_info *p, int prom_node, u32
	err = prom_getproperty(prom_node, "interrupt-map",
			       (char *)pbm->pbm_intmap,
			       sizeof(pbm->pbm_intmap));
	if (err != -1) {
	if (err == 0 || err == -1) {
		prom_printf("%s: Fatal error, no interrupt-map property.\n",
			    pbm->name);
		prom_halt();
	}

	pbm->num_pbm_intmap = (err / sizeof(struct linux_prom_pci_intmap));
	err = prom_getproperty(prom_node, "interrupt-map-mask",
			       (char *)&pbm->pbm_intmask,
			       sizeof(pbm->pbm_intmask));
		if (err == -1) {
			prom_printf("%s: Fatal error, no "
				    "interrupt-map-mask.\n", pbm->name);
	if (err == 0 || err == -1) {
		prom_printf("%s: Fatal error, no interrupt-map-mask.\n",
			    pbm->name);
		prom_halt();
	}
	} else {
		pbm->num_pbm_intmap = 0;
		memset(&pbm->pbm_intmask, 0, sizeof(pbm->pbm_intmask));
	}

	pci_sun4v_get_bus_range(pbm);
	pci_sun4v_iommu_init(pbm);