Fix bug - in osm_vendor_local_lid_change do not need to change the directed route...
authoreitan <eitan@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 19 Oct 2005 11:27:36 +0000 (11:27 +0000)
committereitan <eitan@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 19 Oct 2005 11:27:36 +0000 (11:27 +0000)
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/trunk@124 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

ulp/opensm/user/libvendor/osm_vendor_al.c

index 519ed9a..891026f 100644 (file)
@@ -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 );
 }
 
 /**********************************************************************