From: Ravi Kerur <rke...@gmail.com> rte_is_power_of_2 returns true for 0 and 0 is not power_of_2. Fix by checking for n.
Signed-off-by: Ravi Kerur <rkerur at gmail.com> Acked-by: Neil Horman <nhorman at tuxdriver.com> --- lib/librte_eal/common/include/rte_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h index 921b91f..8ac940c 100644 --- a/lib/librte_eal/common/include/rte_common.h +++ b/lib/librte_eal/common/include/rte_common.h @@ -203,7 +203,7 @@ extern int RTE_BUILD_BUG_ON_detected_error; static inline int rte_is_power_of_2(uint32_t n) { - return ((n-1) & n) == 0; + return n && !(n & (n - 1)); } /** -- 2.1.0