]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
winverbs branch: fix deref CM interface
authorshefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 29 Apr 2009 22:59:55 +0000 (22:59 +0000)
committershefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 29 Apr 2009 22:59:55 +0000 (22:59 +0000)
Release the CM interface only once, not once per hardware device.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2140 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

branches/winverbs/core/winverbs/kernel/wv_driver.c

index e3170587c7aef224614f2b4208431a876ea3edd1..434d144edc37263390074f60f99d1411a789e12a 100644 (file)
@@ -554,15 +554,14 @@ static VOID WvRdmaDeviceCleanup(WDFDEVICE Device)
                KeWaitForSingleObject(&pdev->Event, Executive, KernelMode, FALSE, NULL);\r
        }\r
 \r
-       if (IbCmInterface.CM.create_id != NULL) {\r
-               IbCmInterface.InterfaceHeader.InterfaceDereference(IbCmInterface.\r
-                                                                                                                  InterfaceHeader.Context);\r
-       }\r
-\r
        pdev->Interface.InterfaceHeader.InterfaceDereference(pdev->Interface.\r
                                                                                                                 InterfaceHeader.Context);\r
 \r
        if (destroy) {\r
+               if (IbCmInterface.CM.create_id != NULL) {\r
+                       IbCmInterface.InterfaceHeader.InterfaceDereference(IbCmInterface.\r
+                                                                                                                          InterfaceHeader.Context);\r
+               }\r
                WdfObjectDelete(ctrldev);\r
        }\r
 }\r