[IBAL] Fix UAL_NDI_NOOP handling
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 12 Aug 2008 08:23:29 +0000 (08:23 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 12 Aug 2008 08:23:29 +0000 (08:23 +0000)
commit8ba6836d99793e885fec037fb2da0d482e4ed3a6
tree12e72dba9ab74639e9e59c944d9236c38e9b8190
parent2f29062b17856257a7965851697f5ac295cc64d2
[IBAL] Fix UAL_NDI_NOOP handling

The NOOP IOCTL allows the ND provider to complete requests asynchronously when a synchronous operation completes in user-land.  This is used for memory registration and deregistration, as well as for connection establishment when ARP resolution is in progress (IBAT returns E_PENDING) in the NetworkDirect provider.  In the latter case, the expectation is that the IOCTL will complete asynchronously with STATUS_TIMEOUT.  However the code processes the IOCTL synchronously, so the IOCTL fails with an immediate error rather than an asynchronous error.

This patch completes the IRP so that it's completion will be reported asynchronously.

Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1479 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
core/al/kernel/al_proxy_ndi.c