[ofw] Svn.2362 retry IBAT call on E_PENDING return.

Smith, Stan stan.smith at intel.com
Mon Aug 17 16:40:26 PDT 2009


Revision: 2362
Author: stansmith
Date: 4:06:55 PM, Monday, August 17, 2009
Message:
[LIBRDMACM] retry IBAT call on E_PENDING return. Signed off by Sean.Hefty at intel.com & stan.smith at intel.com
----
Modified : /gen1/branches/WOF2-1/ulp/librdmacm/src/cma.cpp
Modified : /gen1/trunk/ulp/librdmacm/src/cma.cpp


--- trunk/ulp/librdmacm/src/cma.cpp     Wed Jul 15 16:20:33 2009
+++ RC-4/ulp/librdmacm/src/cma.cpp      Mon Aug 17 15:55:50 2009
@@ -497,7 +497,16 @@
        IBAT_PATH_BLOB path;
        HRESULT hr;

-       hr = IBAT::Resolve(&id->route.addr.src_addr, &id->route.addr.dst_addr, &path);
+       do {
+               hr = IBAT::Resolve(&id->route.addr.src_addr, &id->route.addr.dst_addr, &path);
+               if (hr != E_PENDING) {
+                       break;
+               }
+               timeout_ms -= 10;
+               if (timeout_ms > 0)
+                       Sleep(10);
+       } while (timeout_ms > 0);
+
        if (FAILED(hr)) {
                return hr;
        }



More information about the ofw mailing list