KMDF tracks all requests that pass through an IO queue. Even after a
authoroushandling code to queue a separate data structure, so that all requestscan remain on the IO queues.Signed-off-by: Sean Hefty sean.hefty@intel.com <oushandling code to queue a separate data structure, so that all requestscan remain on the IO queues.Signed-off-by: Sean Hefty sean.hefty@intel.com@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 4 Jan 2010 19:00:54 +0000 (19:00 +0000)
committeroushandling code to queue a separate data structure, so that all requestscan remain on the IO queues.Signed-off-by: Sean Hefty sean.hefty@intel.com <oushandling code to queue a separate data structure, so that all requestscan remain on the IO queues.Signed-off-by: Sean Hefty sean.hefty@intel.com@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 4 Jan 2010 19:00:54 +0000 (19:00 +0000)
commit0fab145a875673bfaf6e011f77c912b3f2332377
treef102ce216381e03dba88e285f16c3c5b0d3e0a59
parent28020f5250bc1909699ac97c7476c85f911833c5
KMDF tracks all requests that pass through an IO queue.  Even after a
request has been removed from the queue, the request still maintains a
reference on the queue.  Any attempt to delete the queue will block
until all requests holding references on the queue have completed.

To avoid deadlock conditions during cleanup, we need to ensure that
all requests can complete during cleanup.  Modify the asynchronous
handling code to queue a separate data structure, so that all requests
can remain on the IO queues.

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