summaryrefslogtreecommitdiff
path: root/datapath-windows
diff options
context:
space:
mode:
authorSairam Venugopal <vsairam@vmware.com>2019-02-26 14:53:35 -0800
committerAlin Gabriel Serdean <aserdean@ovn.org>2019-03-13 13:18:31 +0200
commitadffc2f75ec41473fe6c96f69aed2385b642cc20 (patch)
tree59cc427bc4d3932008f80004be705a37bc391eac /datapath-windows
parent132733d4b064191e917ea98ca4bf165f8cca2071 (diff)
downloadopenvswitch-adffc2f75ec41473fe6c96f69aed2385b642cc20.tar.gz
datapath-windows: Fix race condition during port creation
Hold the dispatch lock until port-add operations are completed. Found by inspection. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@ovn.org> Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>
Diffstat (limited to 'datapath-windows')
-rw-r--r--datapath-windows/ovsext/Vport.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c
index e08cb90ce..bb83c2235 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -452,12 +452,11 @@ HvConnectNic(POVS_SWITCH_CONTEXT switchContext,
vport->ovsState = OVS_STATE_CONNECTED;
vport->nicState = NdisSwitchNicStateConnected;
- NdisReleaseRWLock(switchContext->dispatchLock, &lockState);
-
if (nicParam->NicType == NdisSwitchNicTypeInternal) {
OvsInternalAdapterUp(vport->portNo, &vport->netCfgInstanceId);
}
+ NdisReleaseRWLock(switchContext->dispatchLock, &lockState);
done:
VPORT_NIC_EXIT(nicParam);
}