summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/ib/ibnex/ibnex.c1
-rw-r--r--usr/src/uts/common/io/ib/ibnex/ibnex_hca.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/ib/ibnex/ibnex.c b/usr/src/uts/common/io/ib/ibnex/ibnex.c
index 3516a96c43..fd22661dc3 100644
--- a/usr/src/uts/common/io/ib/ibnex/ibnex.c
+++ b/usr/src/uts/common/io/ib/ibnex/ibnex.c
@@ -2653,6 +2653,7 @@ ibnex_dm_callback(void *arg, ibdm_events_t flag)
if (ddi_taskq_dispatch(ibnex.ibnex_taskq_id,
ibnex_handle_hca_attach, guid, DDI_NOSLEEP)
!= DDI_SUCCESS) {
+ kmem_free(guid, sizeof (ib_guid_t));
IBTF_DPRINTF_L4("ibnex", "\tdm_callback: failed to "
"dispatch HCA add event for guid %s", hca_guid);
}
diff --git a/usr/src/uts/common/io/ib/ibnex/ibnex_hca.c b/usr/src/uts/common/io/ib/ibnex/ibnex_hca.c
index 26feabfa7c..c7d614e3c0 100644
--- a/usr/src/uts/common/io/ib/ibnex/ibnex_hca.c
+++ b/usr/src/uts/common/io/ib/ibnex/ibnex_hca.c
@@ -543,6 +543,7 @@ ddi_bus_config_op_t op, uint_t *flag, dev_info_t **child)
&index, &pkey, &port_num) != IBNEX_SUCCESS) {
IBTF_DPRINTF_L2("ibnex",
"\tconfig_port_node: Invalid Service Name");
+ kmem_free(device_name, len);
return (IBNEX_FAILURE);
}
@@ -596,6 +597,7 @@ ibnex_handle_hca_attach(void *cb_arg)
hca_list = ibdm_ibnex_get_hca_info_by_guid(hca_guid);
if (hca_list == NULL) {
ndi_devi_exit(phci, circ);
+ kmem_free(cb_arg, sizeof (ib_guid_t));
return;
}
ibnex_create_hcasvc_nodes(phci, hca_list->hl_hca_port_attr);
@@ -605,4 +607,5 @@ ibnex_handle_hca_attach(void *cb_arg)
}
ibdm_ibnex_free_hca_list(hca_list);
ndi_devi_exit(phci, circ);
+ kmem_free(cb_arg, sizeof (ib_guid_t));
}