Bug Fix:
[mirror/winof/.git] / ulp / opensm / user / opensm / osm_port_info_rcv.c
index 4a75309..a460bf2 100644 (file)
@@ -663,6 +663,17 @@ osm_pi_rcv_process(
   p_smp = osm_madw_get_smp_ptr( p_madw );
   p_context = osm_madw_get_pi_context_ptr( p_madw );
   p_pi = (ib_port_info_t*)ib_smp_get_payload_ptr( p_smp );
+
+  /* On receive of client reregister - clear the reregister bit - so
+     reregistering won't be sent again and again*/
+  if (ib_port_info_get_client_rereg(p_pi))
+  {
+         osm_log( p_rcv->p_log, OSM_LOG_DEBUG,
+             "osm_pi_rcv_process: "
+             "client reregister received on response\n");
+         ib_port_info_set_client_rereg(p_pi,0);
+  }
+
   port_num = (uint8_t)cl_ntoh32( p_smp->attr_mod );
 
   port_guid = p_context->port_guid;