diff mbox

[ovs-dev,02/17] dpif-netdev: Take non_pmd_mutex to access tx cached ports.

Message ID 20161116004612.79315-3-diproiettod@vmware.com
State Superseded
Headers show

Commit Message

Daniele Di Proietto Nov. 16, 2016, 12:45 a.m. UTC
As documented in dp_netdev_pmd_thread, we must take non_pmd_mutex to
access the tx port caches for the non pmd thread.

Found by inspection.

Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
---
 lib/dpif-netdev.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index c19d3e8..7b67b42 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -3350,8 +3350,10 @@  dp_netdev_del_pmd(struct dp_netdev *dp, struct dp_netdev_pmd_thread *pmd)
     /* NON_PMD_CORE_ID doesn't have a thread, so we don't have to synchronize,
      * but extra cleanup is necessary */
     if (pmd->core_id == NON_PMD_CORE_ID) {
+        ovs_mutex_lock(&dp->non_pmd_mutex);
         emc_cache_uninit(&pmd->flow_cache);
         pmd_free_cached_ports(pmd);
+        ovs_mutex_unlock(&dp->non_pmd_mutex);
     } else {
         latch_set(&pmd->exit_latch);
         dp_netdev_reload_pmd__(pmd);