ND for some odd reason wants a successful return code for
a failed disconnect call. If a Disconnect() call fails,
allow it to be retried. Return STATUS_TIMEOUT - a 'successful'
failure, rather than STATUS_IO_TIMEOUT, which is a 'failed' failure.
(I love Windows, really, I do.) A subsequent call to EP:
Disconnect() after a timeout will force the QP into the error
state and force the EP into the disconnected state.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
WdfObjectReleaseLock(ep->Queue);\r
break;\r
case iba_cm_dreq_error:\r
- WvEpCompleteDisconnect(ep, STATUS_IO_TIMEOUT);\r
+ WvEpCompleteDisconnect(ep, STATUS_TIMEOUT);\r
break;\r
case iba_cm_rep_received:\r
WdfObjectAcquireLock(ep->Queue);\r
}\r
}\r
/* Fall through to passive disconnect case on failure */\r
+ case WvEpActiveDisconnect:\r
case WvEpPassiveDisconnect:\r
ep->State = WvEpDisconnected;\r
WdfObjectReleaseLock(ep->Queue);\r