Print this page
NEX-8219 sudden reboot when accessing bge2 on HP Gen 9 - real fix
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
NEX-6635 sudden reboot when accessing bge2 on HP Gen9
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>

*** 3642,3651 **** --- 3642,3653 ---- #endif #ifdef BGE_NETCONSOLE int retval; #endif #endif + int prop_len = 128; + char *prop_name, *prop_val; instance = ddi_get_instance(devinfo); BGE_GTRACE(("bge_attach($%p, %d) instance %d", (void *)devinfo, cmd, instance));
*** 3678,3687 **** --- 3680,3705 ---- DDI_PROP_DONTPASS, debug_propname, bge_debug); (void) snprintf(bgep->ifname, sizeof (bgep->ifname), "%s%d", BGE_DRIVER_NAME, instance); /* + * Check whether this specific instance has been disabled. + */ + prop_name = kmem_zalloc(prop_len, KM_SLEEP); + (void) snprintf(prop_name, prop_len, "disable-%s", bgep->ifname); + if (ddi_prop_lookup_string(DDI_DEV_T_ANY, devinfo, 0, prop_name, + &prop_val) == DDI_SUCCESS) { + if (strcmp(prop_val, "true") == 0) { + ddi_prop_free(prop_val); + kmem_free(prop_name, prop_len); + goto attach_fail; + } + ddi_prop_free(prop_val); + } + kmem_free(prop_name, prop_len); + + /* * Initialize for fma support */ bgep->fm_capabilities = ddi_prop_get_int(DDI_DEV_T_ANY, devinfo, DDI_PROP_DONTPASS, fm_cap, DDI_FM_EREPORT_CAPABLE | DDI_FM_ACCCHK_CAPABLE |