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
*/