Flush cache triggers atomic_add on some of the pool atomics which have never 
been initialized if the pool hasn't been.

Signed-off-by: Nicolas Morey-Chaisemartin <nmo...@kalray.eu>
---
 platform/linux-generic/odp_pool.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/platform/linux-generic/odp_pool.c 
b/platform/linux-generic/odp_pool.c
index bf49623..31bf537 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -575,6 +575,8 @@ void _odp_flush_caches(void)
 
        for (i = 0; i < ODP_CONFIG_POOLS; i++) {
                pool_entry_t *pool = get_pool_entry(i);
+               if (pool->s.pool_shm == ODP_SHM_INVALID)
+                       continue;
                flush_cache(&local_cache[i], &pool->s);
        }
 }
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to