diff options
Diffstat (limited to 'datapath-windows/ovsext')
-rw-r--r-- | datapath-windows/ovsext/Vport.c | 6 | ||||
-rw-r--r-- | datapath-windows/ovsext/Vxlan.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index 43154641f..d692a6dc7 100644 --- a/datapath-windows/ovsext/Vport.c +++ b/datapath-windows/ovsext/Vport.c @@ -2531,6 +2531,12 @@ OvsTunnelVportPendingRemove(PVOID context, RemoveEntryList(&vport->ovsNameLink); RemoveEntryList(&vport->portNoLink); RemoveEntryList(&vport->tunnelVportLink); + + if (vport->priv) { + OvsFreeMemoryWithTag(vport->priv, OVS_VXLAN_POOL_TAG); + vport->priv = NULL; + } + OvsFreeMemoryWithTag(vport, OVS_VPORT_POOL_TAG); NdisReleaseRWLock(switchContext->dispatchLock, &lockState); diff --git a/datapath-windows/ovsext/Vxlan.c b/datapath-windows/ovsext/Vxlan.c index f43805aa3..b84c1d0b4 100644 --- a/datapath-windows/ovsext/Vxlan.c +++ b/datapath-windows/ovsext/Vxlan.c @@ -154,11 +154,11 @@ OvsCleanupVxlanTunnel(PIRP irp, vxlanPort->filterID, callback, tunnelContext); + } else { + OvsFreeMemoryWithTag(vport->priv, OVS_VXLAN_POOL_TAG); + vport->priv = NULL; } - OvsFreeMemoryWithTag(vport->priv, OVS_VXLAN_POOL_TAG); - vport->priv = NULL; - return status; } |