diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/i86pc/io/drm/i915_sundrv.c | 12 |
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); |