From 32608296656cf3e061b84c52aa7be815a2bb7423 Mon Sep 17 00:00:00 2001 From: eitan Date: Wed, 19 Oct 2005 11:27:36 +0000 Subject: [PATCH] Fix bug - in osm_vendor_local_lid_change do not need to change the directed route address vector, since only LID has changed. Destroying and then creating it again can cause problems, since callback functions might try to use this address vector after its destruction and before the creation. git-svn-id: svn://openib.tc.cornell.edu/gen1@124 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- .../ulp/opensm/user/libvendor/osm_vendor_al.c | 34 +------------------ 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/trunk/ulp/opensm/user/libvendor/osm_vendor_al.c b/trunk/ulp/opensm/user/libvendor/osm_vendor_al.c index 519ed9a0..891026ff 100644 --- a/trunk/ulp/opensm/user/libvendor/osm_vendor_al.c +++ b/trunk/ulp/opensm/user/libvendor/osm_vendor_al.c @@ -1530,43 +1530,11 @@ osm_vendor_local_lid_change( { osm_al_bind_info_t *p_bind = (osm_al_bind_info_t *)h_bind; osm_vendor_t *p_vend = p_bind->p_vend; - ib_av_attr_t av; - ib_api_status_t status; OSM_LOG_ENTER( p_vend->p_log, osm_vendor_local_lid_change ); - /* - The only thing we need to do is refresh the directed - route address vector. - */ - __osm_vendor_init_av( p_bind, &av ); - - status = ib_destroy_av( p_bind->h_dr_av ); - p_bind->h_dr_av = NULL; - if( status != IB_SUCCESS ) - { - osm_log( p_vend->p_log, OSM_LOG_ERROR, - "osm_vendor_local_lid_change: ERR 3B32: " - "Unable to destroy address vector (%s).\n", - ib_get_err_str( status ) ); - - goto Exit; - } - - status = ib_create_av( p_vend->h_pd, &av, &p_bind->h_dr_av ); - if( status != IB_SUCCESS ) - { - osm_log( p_vend->p_log, OSM_LOG_ERROR, - "osm_vendor_local_lid_change: ERR 3B33: " - "Unable to create address vector (%s).\n", - ib_get_err_str( status ) ); - - goto Exit; - } - - Exit: OSM_LOG_EXIT( p_vend->p_log ); - return( status ); + return( IB_SUCCESS ); } /********************************************************************** -- 2.41.0