[ofw] [IPoIB_NDIS6_CM] [Patch 1/3] Improper IPoIB behavior during simultaneous sends on both sides
Alex Naslednikov
xalex at mellanox.co.il
Wed Nov 10 01:30:24 PST 2010
Applied at 2985
-----Original Message-----
From: Alex Naslednikov
Sent: Tuesday, November 09, 2010 6:55 PM
To: Alex Naslednikov; ofw at lists.openfabrics.org
Subject: [ofw] [IPoIB_NDIS6_CM] [Patch 1/3] Improper IPoIB behavior during simultaneous sends on both sides
Signed-off by: Alexander Naslednikov (xalex at mellanox.co.il)
Index: ulp/ipoib_NDIS6_CM/kernel/ipoib_adapter.cpp
===================================================================
--- ulp/ipoib_NDIS6_CM/kernel/ipoib_adapter.cpp (revision 2982)
+++ ulp/ipoib_NDIS6_CM/kernel/ipoib_adapter.cpp (working copy)
@@ -1024,7 +1024,6 @@
{
h_pnp = p_adapter->h_pnp;
p_adapter->h_pnp = NULL;
- status = p_adapter->p_ifc->dereg_pnp( h_pnp, __ipoib_pnp_dereg );
// Wait until NDIS will return all indicated NBLs that were received
// Avoid shutting the shutter twice
@@ -1037,20 +1036,20 @@
("[%I64u] ipoib_state was IPOIB_RUNNING and IPOIB_RESET_OR_DOWN flag was set \n", cl_get_time_stamp()) );
}
KeReleaseInStackQueuedSpinLock( &hdl );
+ status = p_adapter->p_ifc->dereg_pnp( h_pnp, __ipoib_pnp_dereg );
if( status == IB_SUCCESS )
+ {
status = IB_NOT_DONE;
+ }
}
else
{
status = __ipoib_pnp_reg( p_adapter, IB_PNP_FLAG_REG_COMPLETE );
- if( status == IB_SUCCESS )
- p_adapter->hung = FALSE;
}
- if (status == IB_NOT_DONE) {
- p_adapter->reset = TRUE;
- }
- else {
+
+ if ( status != IB_NOT_DONE )
+ {
//do not call to __ipoib_complete_reset, because we return completion status directly from here
p_adapter->reset = FALSE;
More information about the ofw
mailing list