diff options
author | rameshc <none@none> | 2007-02-27 07:19:57 -0800 |
---|---|---|
committer | rameshc <none@none> | 2007-02-27 07:19:57 -0800 |
commit | 651d856bef3edc901fc0821d2462b7cfd806a735 (patch) | |
tree | 840682941d466ff481f9fc0d2f13a4afb18a94a1 | |
parent | e1c679fa4b0ab8c4bcaa6263974ca0c46e5b027f (diff) | |
download | illumos-gate-651d856bef3edc901fc0821d2462b7cfd806a735.tar.gz |
6517350 Memory leaks in px_lib_map_vconfig()
-rw-r--r-- | usr/src/uts/sun4u/io/pci/pci_pci.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/usr/src/uts/sun4u/io/pci/pci_pci.c b/usr/src/uts/sun4u/io/pci/pci_pci.c index 108b9f5140..0ae4b02424 100644 --- a/usr/src/uts/sun4u/io/pci/pci_pci.c +++ b/usr/src/uts/sun4u/io/pci/pci_pci.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. */ @@ -952,8 +952,10 @@ ppb_initchild(dev_info_t *child) * errors. */ if (ppb->parent_bus == PCIE_PCIECAP_DEV_TYPE_PCIE_DEV) { - if (pcie_init_ppd(child) == NULL) + if (pcie_init_ppd(child) == NULL) { + pci_config_teardown(&config_handle); return (DDI_FAILURE); + } } /* @@ -968,8 +970,7 @@ ppb_initchild(dev_info_t *child) "Workaround: value = %x\n", n); pcix_set_cmd_reg(child, n); } - - /* since cached, teardown config handle in ppb_uninitchild() */ + pci_config_teardown(&config_handle); return (DDI_SUCCESS); } |