net/enetc: fix big endian build and buffer allocation
There was an error at rte_constant_bswap64 while compiling with big endian toolchain. so fixing it by adding type cast. Also, rte_pktmbuf_alloc API should be used to allocate mbuf instead of rte_pktmbuf_raw_alloc to avoid use of stale mbuf information. Fixes: 469c6111a799 ("net/enetc: enable Rx and Tx") Cc: stable@dpdk.org Suggested-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
This commit is contained in:
parent
63c34c299a
commit
389a450f37
@ -88,8 +88,9 @@ enetc_refill_rx_ring(struct enetc_bdr *rx_ring, const int buff_cnt)
|
||||
rx_swbd = &rx_ring->q_swbd[i];
|
||||
rxbd = ENETC_RXBD(*rx_ring, i);
|
||||
for (j = 0; j < buff_cnt; j++) {
|
||||
rx_swbd->buffer_addr =
|
||||
rte_cpu_to_le_64(rte_mbuf_raw_alloc(rx_ring->mb_pool));
|
||||
rx_swbd->buffer_addr = (void *)(uintptr_t)
|
||||
rte_cpu_to_le_64((uint64_t)(uintptr_t)
|
||||
rte_pktmbuf_alloc(rx_ring->mb_pool));
|
||||
rxbd->w.addr = (uint64_t)(uintptr_t)
|
||||
rx_swbd->buffer_addr->buf_iova +
|
||||
rx_swbd->buffer_addr->data_off;
|
||||
|
Loading…
x
Reference in New Issue
Block a user