[Openib-windows] [PATCH] mcast_cb error handling

Yossi Leybovich sleybo at mellanox.co.il
Tue Jul 4 03:18:01 PDT 2006


Fab 
 
In mcast_cb function in case the join request failed IPoIB call to
ipoib_set_inactive, this function move the port state to down , but does
**not** move the QP to error to flush all WQEs.
We create scenario in which the mcast_cb fail (we move the SM from node
to node in the cluster) and when the SM was up again the machine enter
to endless loop in ipoib_port_up.
The problem is that the pnp_cb call to ipoib_port_up (the port state is
down) but we never call to ipoib_port_down function.
We think that ipoib_set_inactive function should be called only in the
init process (port state == INIT) ,but in the case of mcast_cb fails we
should mark the adadpter->hung = TRUE ( same as we do if we fail the
function ipoib_endpt_set_mcast few line later)
 
I want your approval to apply this patch .
 
10x
Yossi 
 
Singed-off-by: Yossi Leybovich (sleybo at mellanox.co.il)
 
Index: W:/work/latest/ulp/ipoib/kernel/ipoib_port.c
===================================================================
--- W:/work/latest/ulp/ipoib/kernel/ipoib_port.c (revision 1496)
+++ W:/work/latest/ulp/ipoib/kernel/ipoib_port.c (working copy)
 
 
@@ -5322,7 +5326,8 @@
   IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,
    ("Multicast join request failed with status %s.\n",
    p_port->p_adapter->p_ifc->get_err_str( p_mcast_rec->status )) );
-  ipoib_set_inactive( p_port->p_adapter );
+  /* Flag the adapter as hung. */
+  p_port->p_adapter->hung =TRUE;
   cl_obj_deref( &p_port->obj );
   IPOIB_EXIT( IPOIB_DBG_MCAST );
   return;

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mcast_cb.patch
Type: application/octet-stream
Size: 658 bytes
Desc: mcast_cb.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20060704/c8f3cffd/attachment.obj>


More information about the ofw mailing list