On Sat, Dec 27, 2014 at 10:30:44AM -0500, Ravi Kerur wrote:
> 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>
> ---
> 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));
> }
>
> /**
> --
> 1.9.1
>
>
Acked-by: Neil Horman <nhorman at tuxdriver.com>