From: eitan Date: Wed, 19 Oct 2005 11:27:36 +0000 (+0000) Subject: Fix bug - in osm_vendor_local_lid_change do not need to change the directed route... X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=32608296656cf3e061b84c52aa7be815a2bb7423;p=~shefty%2Frdma-win.git 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 --- 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 ); } /**********************************************************************