err = prom_getproperty(prom_node, "interrupt-map",
                               (char *)pbm->pbm_intmap,
                               sizeof(pbm->pbm_intmap));
-       if (err != -1) {
-               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);
-                       prom_halt();
-               }
-       } else {
-               pbm->num_pbm_intmap = 0;
-               memset(&pbm->pbm_intmask, 0, sizeof(pbm->pbm_intmask));
+       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 == 0 || err == -1) {
+               prom_printf("%s: Fatal error, no interrupt-map-mask.\n",
+                           pbm->name);
+               prom_halt();
        }
 
        pci_sun4v_get_bus_range(pbm);