summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/i86pc/io/drm/i915_sundrv.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/usr/src/uts/i86pc/io/drm/i915_sundrv.c b/usr/src/uts/i86pc/io/drm/i915_sundrv.c
index 4fa262989c..f588bd0a3c 100644
--- a/usr/src/uts/i86pc/io/drm/i915_sundrv.c
+++ b/usr/src/uts/i86pc/io/drm/i915_sundrv.c
@@ -341,12 +341,14 @@ i915_sun_detach(dev_info_t *devi, ddi_detach_cmd_t cmd)
if (softc->agp_master != NULL)
agpmaster_detach(&softc->agp_master);
- /* free PCI config access handle */
- pci_config_teardown(softc->pci_cfg_hdlp);
+ if (softc->pci_cfg_hdlp) {
+ /* free PCI config access handle */
+ pci_config_teardown(softc->pci_cfg_hdlp);
- /* free PCI configuration handle */
- kmem_free((void *)softc->pci_cfg_hdlp,
- (sizeof (ddi_acc_handle_t)));
+ /* free PCI configuration handle */
+ kmem_free((void *)softc->pci_cfg_hdlp,
+ (sizeof (ddi_acc_handle_t)));
+ }
/* graphics misc module detach */
(void) gfxp_vgatext_detach(devi, DDI_DETACH, softc->ds_gfx);