net/sfc: fix mbuf data alignment calculation
authorAndrew Rybchenko <arybchenko@solarflare.com>
Mon, 19 Mar 2018 07:50:11 +0000 (07:50 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 30 Mar 2018 12:08:44 +0000 (14:08 +0200)
Unlike ffs() rte_bsf32() counts bit position from 0.

Fixes: 0c7a0c35f24c ("net/sfc: calculate Rx buffer size which may be used")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
drivers/net/sfc/sfc_rx.c

index f7aaab0..2478a15 100644 (file)
@@ -887,7 +887,7 @@ sfc_rx_mbuf_data_alignment(struct rte_mempool *mb_pool)
 
        order = MIN(order, rte_bsf32(data_off));
 
-       return 1u << (order - 1);
+       return 1u << order;
 }
 
 static uint16_t