Print this page
NEX-14413 Bad trap in module "apix" due to a NULL pointer dereference
Reviewed by: Steve Peng <steve.peng@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>

@@ -973,15 +973,16 @@
                 ispec->intrspec_pri = hdlp->ih_pri;
         }
         ihdl_plat_datap->ip_ispecp = ispec;
 
         /* translate the interrupt if needed */
-        (void) (*psm_intr_ops)(rdip, hdlp, PSM_INTR_OP_XLATE_VECTOR, &irq);
-
+        if ((*psm_intr_ops)(rdip, hdlp, PSM_INTR_OP_XLATE_VECTOR, &irq) !=
+            PSM_FAILURE) {
         /* Disable the interrupt handler */
         rem_avintr((void *)hdlp, hdlp->ih_pri, hdlp->ih_cb_func, irq);
         ihdl_plat_datap->ip_ispecp = NULL;
+        }
 }
 
 /*
  * Miscellaneous library function
  */