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,10 +3642,12 @@
#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,10 +3680,26 @@
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 |