summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/sunddi.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/os/sunddi.c')
-rw-r--r--usr/src/uts/common/os/sunddi.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/usr/src/uts/common/os/sunddi.c b/usr/src/uts/common/os/sunddi.c
index e919e8b846..8619288779 100644
--- a/usr/src/uts/common/os/sunddi.c
+++ b/usr/src/uts/common/os/sunddi.c
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -7559,15 +7559,10 @@ i_ddi_devid_register(dev_info_t *dip, ddi_devid_t devid)
return (DDI_FAILURE);
}
- ddi_devid_str_free(devid_str);
-
-#ifdef DEVID_COMPATIBILITY
- /*
- * marker for devinfo snapshot compatibility.
- * This code gets deleted when di_devid is gone from libdevid
- */
- DEVI(dip)->devi_devid = DEVID_COMPATIBILITY;
-#endif /* DEVID_COMPATIBILITY */
+ /* keep pointer to devid string for interrupt context fma code */
+ if (DEVI(dip)->devi_devid_str)
+ ddi_devid_str_free(DEVI(dip)->devi_devid_str);
+ DEVI(dip)->devi_devid_str = devid_str;
return (DDI_SUCCESS);
}
@@ -7603,13 +7598,10 @@ ddi_devid_register(dev_info_t *dip, ddi_devid_t devid)
static void
i_ddi_devid_unregister(dev_info_t *dip)
{
-#ifdef DEVID_COMPATIBILITY
- /*
- * marker for micro release devinfo snapshot compatibility.
- * This code gets deleted for the minor release.
- */
- DEVI(dip)->devi_devid = NULL; /* unset DEVID_PROP */
-#endif /* DEVID_COMPATIBILITY */
+ if (DEVI(dip)->devi_devid_str) {
+ ddi_devid_str_free(DEVI(dip)->devi_devid_str);
+ DEVI(dip)->devi_devid_str = NULL;
+ }
/* remove the devid property */
(void) ndi_prop_remove(DDI_DEV_T_NONE, dip, DEVID_PROP_NAME);