From c4b686e0bbfff67d1b8e32fc72935194c3a37e4f Mon Sep 17 00:00:00 2001 From: Hemant Agrawal Date: Fri, 19 Jul 2019 15:36:08 +0530 Subject: [PATCH] net/dpaa: check multi-segment external buffers [ upstream commit 829904201f0a3a43c740d64e216167265bc34ffa ] This patch add check to return error as the handling for external buffer packets with SG is currently missing. Fixes: 37f9b54bd3cf ("net/dpaa: support Tx and Rx queue setup") Signed-off-by: Hemant Agrawal --- drivers/net/dpaa/dpaa_rxtx.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index c4471c2274..ba01bd17e6 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -952,6 +952,16 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) goto send_pkts; } } else { + /* TODO not supporting sg for external bufs*/ + if (unlikely(mbuf->nb_segs > 1)) { + /* Set frames_to_send & nb_bufs so + * that packets are transmitted till + * previous frame. + */ + frames_to_send = loop; + nb_bufs = loop; + goto send_pkts; + } state = tx_on_external_pool(q, mbuf, &fd_arr[loop]); if (unlikely(state)) {