From: shefty Date: Wed, 29 Apr 2009 22:59:55 +0000 (+0000) Subject: winverbs branch: fix deref CM interface X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=0fa7dbb7929d59d266948d1b3516f55ecbac26bd;p=~shefty%2Frdma-win.git winverbs branch: fix deref CM interface Release the CM interface only once, not once per hardware device. Signed-off-by: Sean Hefty git-svn-id: svn://openib.tc.cornell.edu/gen1@2140 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/branches/winverbs/core/winverbs/kernel/wv_driver.c b/branches/winverbs/core/winverbs/kernel/wv_driver.c index e3170587..434d144e 100644 --- a/branches/winverbs/core/winverbs/kernel/wv_driver.c +++ b/branches/winverbs/core/winverbs/kernel/wv_driver.c @@ -554,15 +554,14 @@ static VOID WvRdmaDeviceCleanup(WDFDEVICE Device) KeWaitForSingleObject(&pdev->Event, Executive, KernelMode, FALSE, NULL); } - if (IbCmInterface.CM.create_id != NULL) { - IbCmInterface.InterfaceHeader.InterfaceDereference(IbCmInterface. - InterfaceHeader.Context); - } - pdev->Interface.InterfaceHeader.InterfaceDereference(pdev->Interface. InterfaceHeader.Context); if (destroy) { + if (IbCmInterface.CM.create_id != NULL) { + IbCmInterface.InterfaceHeader.InterfaceDereference(IbCmInterface. + InterfaceHeader.Context); + } WdfObjectDelete(ctrldev); } }