[v2,03/13] net/enetc: use correct buffer allocation API

Message ID 1555075598-4988-4-git-send-email-g.singh@nxp.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series ENETC PMD basic features and bug fixes |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK

Commit Message

Gagandeep Singh April 12, 2019, 7:04 a.m. UTC
  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: g.singh@nxp.com

Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
 drivers/net/enetc/enetc_rxtx.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
  

Comments

Thomas Monjalon April 12, 2019, 8:37 a.m. UTC | #1
12/04/2019 09:04, Gagandeep Singh:
> 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: g.singh@nxp.com

You should mention it is also fixing big endian compilation.
  
Gagandeep Singh April 12, 2019, 8:50 a.m. UTC | #2
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Friday, April 12, 2019 2:08 PM
> To: Gagandeep Singh <G.Singh@nxp.com>
> Cc: dev@dpdk.org; ferruh.yigit@intel.com> 
> 
> 12/04/2019 09:04, Gagandeep Singh:
> > 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: g.singh@nxp.com
> 
> You should mention it is also fixing big endian compilation.
> 
> 
Ok, I'll do that.

Thanks,
Gagandeep Singh
  

Patch

diff --git a/drivers/net/enetc/enetc_rxtx.c b/drivers/net/enetc/enetc_rxtx.c
index a31a387..42f16ca 100644
--- a/drivers/net/enetc/enetc_rxtx.c
+++ b/drivers/net/enetc/enetc_rxtx.c
@@ -88,8 +88,9 @@ 
 	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;