aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/odp_traffic_mngr.c
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2018-11-23 13:55:55 +0200
committerMaxim Uvarov <maxim.uvarov@linaro.org>2018-12-03 18:37:34 +0300
commit94e47dc62e340818b91c471788c29af3ba167d96 (patch)
tree2810498f342d40f134b20e74658bb5184e2de681 /platform/linux-generic/odp_traffic_mngr.c
parent92e59d9e816a99db318ba24dcb12cb55f2e7392d (diff)
linux-gen: traffic_mngr: don't reserve memory if tm is disabled
Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic/odp_traffic_mngr.c')
-rw-r--r--platform/linux-generic/odp_traffic_mngr.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c
index 2b7e58f70..e29cb3cd6 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -2918,6 +2918,11 @@ odp_tm_t odp_tm_create(const char *name,
uint32_t max_tm_queues, max_sorted_lists;
int rc;
+ if (odp_global_ro.init_param.not_used.feat.tm) {
+ ODP_ERR("TM has been disabled\n");
+ return ODP_TM_INVALID;
+ }
+
/* If we are using pktio output (usual case) get the first associated
* pktout_queue for this pktio and fail if there isn't one.
*/
@@ -4719,6 +4724,11 @@ int odp_tm_init_global(void)
{
odp_shm_t shm;
+ if (odp_global_ro.init_param.not_used.feat.tm) {
+ ODP_DBG("TM disabled\n");
+ return 0;
+ }
+
shm = odp_shm_reserve("_odp_traffic_mng", sizeof(tm_global_t), 0, 0);
if (shm == ODP_SHM_INVALID)
return -1;
@@ -4747,6 +4757,9 @@ int odp_tm_init_global(void)
int odp_tm_term_global(void)
{
+ if (odp_global_ro.init_param.not_used.feat.tm)
+ return 0;
+
if (odp_shm_free(tm_glb->shm)) {
ODP_ERR("shm free failed\n");
return -1;