aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2019-08-19 13:26:41 +0300
committerMatias Elo <matias.elo@nokia.com>2019-08-22 15:41:21 +0300
commitdfcd69eb6c513dd02b17c03481b41f691503d632 (patch)
treebaaf5e75d6ae24fcaa9105e8dfddd3344074949d
parent56bb1d19a33089ed780287cc8381c6fff51daeab (diff)
Port eec882c78 "linux-gen: timer: don't reserve any resources when timers are disabled"
Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
-rw-r--r--platform/linux-dpdk/odp_timer.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/platform/linux-dpdk/odp_timer.c b/platform/linux-dpdk/odp_timer.c
index cd193d352..4263592d0 100644
--- a/platform/linux-dpdk/odp_timer.c
+++ b/platform/linux-dpdk/odp_timer.c
@@ -130,8 +130,10 @@ int odp_timer_init_global(const odp_init_t *params)
* created. */
odp_global_rw->inline_timers = false;
- if (params && params->not_used.feat.timer)
+ if (params && params->not_used.feat.timer) {
+ timer_global = NULL;
return 0;
+ }
shm = odp_shm_reserve("timer_global", sizeof(timer_global_t),
ODP_CACHE_LINE_SIZE, 0);
@@ -163,10 +165,11 @@ int odp_timer_init_global(const odp_init_t *params)
int odp_timer_term_global(void)
{
- if (timer_global == NULL)
- return 0;
+ if (timer_global && odp_shm_free(timer_global->shm)) {
+ ODP_ERR("Shm free failed for odp_timer\n");
+ return -1;
+ }
- odp_shm_free(timer_global->shm);
return 0;
}