[Openib-windows] [PATCH] mcast_cb error handling

Tzachi Dar tzachid at mellanox.co.il
Tue Jul 4 04:37:55 PDT 2006


Bug #166 - http://openib.org/bugzilla/show_bug.cgi?id=166 

> -----Original Message-----
> From: openib-windows-bounces at openib.org 
> [mailto:openib-windows-bounces at openib.org] On Behalf Of Yossi 
> Leybovich
> Sent: Tuesday, July 04, 2006 1:18 PM
> To: Fab Tillier
> Cc: openib-windows at openib.org
> Subject: [Openib-windows] [PATCH] mcast_cb error handling
> 
> 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;
> 
> 




More information about the ofw mailing list