[Openib-windows] [PATCH] ipoib reset

Yossi Leybovich sleybo at mellanox.co.il
Thu Mar 30 05:43:33 PST 2006


Fab 
 
We encounter unstable behavior with IPoIB when OpenSM fail and re-sweep
the network 
 
I notice that we hit assert in __ipoib_pnp_dereg because h_pnp is not
NULL. 
>From the code you can see that you set the h_pnp to NULL only after you
call dereg function 
and ther might be race that can cause the callback to be called before
you set the h_pnp to NULL.
 
This patch is simple fix for this.
 
10x
Yossi 

Singed-off-by: Yossi Leybovich (sleybo at mellanox.co.il)
 
Index: W:/work/clean/ulp/ipoib/kernel/ipoib_adapter.c
===================================================================
--- W:/work/clean/ulp/ipoib/kernel/ipoib_adapter.c (revision 1183)
+++ W:/work/clean/ulp/ipoib/kernel/ipoib_adapter.c (revision 1184)
@@ -729,9 +729,10 @@
 
  if( p_adapter->h_pnp )
  {
+  ib_pnp_handle_t pTemp = p_adapter->h_pnp ;
+  p_adapter->h_pnp  = NULL;
   status = p_adapter->p_ifc->dereg_pnp(
-   p_adapter->h_pnp, __ipoib_pnp_dereg );
-  p_adapter->h_pnp = NULL;
+   pTemp, __ipoib_pnp_dereg );
   if( status == IB_SUCCESS )
    status = IB_NOT_DONE;
  }

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipoib_reset.patch
Type: application/octet-stream
Size: 604 bytes
Desc: ipoib_reset.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20060330/22d42d26/attachment.obj>


More information about the ofw mailing list