git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
eal: remove sys/queue.h from public headers
[dpdk.git]
/
drivers
/
net
/
bnxt
/
tf_core
/
bitalloc.c
diff --git
a/drivers/net/bnxt/tf_core/bitalloc.c
b/drivers/net/bnxt/tf_core/bitalloc.c
index
918cabf
..
e253cfc
100644
(file)
--- a/
drivers/net/bnxt/tf_core/bitalloc.c
+++ b/
drivers/net/bnxt/tf_core/bitalloc.c
@@
-1,5
+1,5
@@
/* SPDX-License-Identifier: BSD-3-Clause
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2019-202
0
Broadcom
+ * Copyright(c) 2019-202
1
Broadcom
* All rights reserved.
*/
* All rights reserved.
*/
@@
-65,7
+65,7
@@
ba_ffs(bitalloc_word_t v)
}
int
}
int
-ba_init(struct bitalloc *pool, int size)
+ba_init(struct bitalloc *pool, int size
, bool free
)
{
bitalloc_word_t *mem = (bitalloc_word_t *)pool;
int i;
{
bitalloc_word_t *mem = (bitalloc_word_t *)pool;
int i;
@@
-101,9
+101,11
@@
ba_init(struct bitalloc *pool, int size)
pool->storage[offset++] = words[--lev];
}
pool->storage[offset++] = words[--lev];
}
- /* Free the entire pool */
- for (i = 0; i < size; i++)
- ba_free(pool, i);
+ /* Free the entire pool if it is required*/
+ if (free) {
+ for (i = 0; i < size; i++)
+ ba_free(pool, i);
+ }
return 0;
}
return 0;
}