summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Switch.c
diff options
context:
space:
mode:
authorShashank Ram <rams@vmware.com>2016-11-10 16:38:05 -0800
committerGurucharan Shetty <guru@ovn.org>2016-11-11 13:51:39 -0800
commita4dabb3df5d000e689915ff9f1df1d21ece0d496 (patch)
tree46b1a24d60dfee2f4fe1ef7d93b72ca3b3918f73 /datapath-windows/ovsext/Switch.c
parent98a0e2a348cc68872a50017db82477c54fba5b6b (diff)
downloadopenvswitch-a4dabb3df5d000e689915ff9f1df1d21ece0d496.tar.gz
datapath-windows: Fix the isActivated flag in OvsActivateSwitch
Previously, the driver would enter a deadlock because the OvsInitConfiguredSwitchNics() function would wait till switchContext->isActivated flag is set. Signed-off-by: Shashank Ram <rams@vmware.com> Acked-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext/Switch.c')
-rw-r--r--datapath-windows/ovsext/Switch.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/datapath-windows/ovsext/Switch.c b/datapath-windows/ovsext/Switch.c
index 49711a9ef..bb296fadc 100644
--- a/datapath-windows/ovsext/Switch.c
+++ b/datapath-windows/ovsext/Switch.c
@@ -553,6 +553,8 @@ OvsActivateSwitch(POVS_SWITCH_CONTEXT switchContext)
ASSERT(!switchContext->isActivated);
+ switchContext->isActivated = TRUE;
+
OVS_LOG_TRACE("Enter: activate switch %p, dpNo: %ld",
switchContext, switchContext->dpNo);
@@ -571,9 +573,11 @@ OvsActivateSwitch(POVS_SWITCH_CONTEXT switchContext)
goto cleanup;
}
- switchContext->isActivated = TRUE;
-
cleanup:
+ if (status != NDIS_STATUS_SUCCESS) {
+ switchContext->isActivated = FALSE;
+ }
+
OVS_LOG_TRACE("Exit: activate switch:%p, isActivated: %s, status = %lx",
switchContext,
(switchContext->isActivated ? "TRUE" : "FALSE"), status);