summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/ddifm.c
diff options
context:
space:
mode:
authorstephh <none@none>2007-04-05 03:14:36 -0700
committerstephh <none@none>2007-04-05 03:14:36 -0700
commitcecfa35819d13ab26f41d532f904681b316e6c0d (patch)
tree209fa512e4ed8e2fb394344328c6f1a5eb70e60a /usr/src/uts/common/os/ddifm.c
parentdcd4d5928c099531751fb8dcac80b772dd0e1963 (diff)
downloadillumos-joyent-cecfa35819d13ab26f41d532f904681b316e6c0d.tar.gz
6505228 fix for 6328213 seems to have broken bofi
6529479 ddi_fm_fini should check if device is ERRCB_CAPABLE before calling ddi_fm_handler_unregister
Diffstat (limited to 'usr/src/uts/common/os/ddifm.c')
-rw-r--r--usr/src/uts/common/os/ddifm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr/src/uts/common/os/ddifm.c b/usr/src/uts/common/os/ddifm.c
index caf35edcff..71dcab5b61 100644
--- a/usr/src/uts/common/os/ddifm.c
+++ b/usr/src/uts/common/os/ddifm.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -772,7 +772,11 @@ ddi_fm_fini(dev_info_t *dip)
}
if (dip != ddi_root_node()) {
- ddi_fm_handler_unregister(dip);
+ if (DDI_FM_ERRCB_CAP(fmhdl->fh_cap)) {
+ ddi_fm_handler_unregister(dip);
+ (void) ddi_prop_remove(DDI_DEV_T_NONE, dip,
+ "fm-errcb-capable");
+ }
if (DDI_FM_DMA_ERR_CAP(fmhdl->fh_cap) ||
DDI_FM_ACC_ERR_CAP(fmhdl->fh_cap)) {