[ofw] [PATCH] winverbs/ep: allow failed connection requests to be retried
Sean Hefty
sean.hefty at intel.com
Fri Mar 5 14:03:18 PST 2010
Allow a user to retry a connection request if it fails. Report a
'success' timeout value, rather than an error timeout, reset the
EP state, and allow the request to be retried from user space.
A 'success' timeout value is one where if(FAILED(status)) is false.
The change in the completion status allows us to remove a mapping
from STATUS_IO_TIMEOUT to ND_TIMEOUT in the user space winverbs ND
provider. Instead STATUS_TIMEOUT is returned, which maps directly
to ND_TIMEOUT. MS-MPI has issues dealing with an 'error' timeout
value being mapped to a 'success' timeout value.
Signed-off-by: Sean Hefty <sean.hefty at intel.com>
---
This patch should be added to the 2.2 release. It passes all ND
logo tests, and Intel MPI IMB tests for SCM and CMA providers.
trunk/core/winverbs/kernel/wv_ep.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/trunk/core/winverbs/kernel/wv_ep.c b/trunk/core/winverbs/kernel/wv_ep.c
index cb897d3..e35e6e8 100644
--- a/trunk/core/winverbs/kernel/wv_ep.c
+++ b/trunk/core/winverbs/kernel/wv_ep.c
@@ -504,8 +504,8 @@ static NTSTATUS WvEpIbCmHandler(iba_cm_id *pId, iba_cm_event *pEvent)
case iba_cm_req_error:
WdfObjectAcquireLock(ep->Queue);
if (ep->State == WvEpActiveConnect) {
- ep->State = WvEpDisconnected;
- WvCompleteRequests(ep->Queue, STATUS_IO_TIMEOUT);
+ ep->State = WvEpRouteResolved;
+ WvCompleteRequests(ep->Queue, STATUS_TIMEOUT);
}
WdfObjectReleaseLock(ep->Queue);
break;
More information about the ofw
mailing list