[ofw] [IPoIB_NDIS6_CM] [Patch 1/3] Improper IPoIB behavior during simultaneous sends on both sides
Alex Naslednikov
xalex at mellanox.co.il
Tue Nov 9 08:55:14 PST 2010
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;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: large_send_1.patch
Type: application/octet-stream
Size: 1265 bytes
Desc: large_send_1.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20101109/590b8045/attachment.obj>
More information about the ofw
mailing list