winverbs/ep: handle receiving REQ then DREQ
author(\18¬ <(\18¬@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 21 Jan 2010 06:09:19 +0000 (06:09 +0000)
committer(\18¬ <(\18¬@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 21 Jan 2010 06:09:19 +0000 (06:09 +0000)
commit26158f19826799c1eb3c8ec0d44f0ffc85f249e2
treeb02049a02c9802df56718daffb39c6f96eff7525
parent87cb48293cfd2a31d72c620811005e099e809160
winverbs/ep: handle receiving REQ then DREQ

For fast connections, it's possible to receive a DREQ immediately
after receiving a REQ, without an RTU coming in between.  If we've
sent a REP to the REQ, then the DREQ should be treated as if the
connection had been fully established.  (The RTU could be delayed,
and the communication established event is processed asynchronously,
so there's no way to tell for certain.)

This fixes an issue where the passive side Accept() call fails
waiting for the RTU, but receives a DREQ instead.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2674 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
core/winverbs/kernel/wv_ep.c