Code Review
/
deb_dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Imported Upstream version 17.05.2
[deb_dpdk.git]
/
drivers
/
net
/
ena
/
ena_ethdev.c
diff --git
a/drivers/net/ena/ena_ethdev.c
b/drivers/net/ena/ena_ethdev.c
index
806073c
..
ec1573f
100644
(file)
--- a/
drivers/net/ena/ena_ethdev.c
+++ b/
drivers/net/ena/ena_ethdev.c
@@
-689,11
+689,10
@@
static void ena_rx_queue_release_bufs(struct ena_ring *ring)
static void ena_tx_queue_release_bufs(struct ena_ring *ring)
{
static void ena_tx_queue_release_bufs(struct ena_ring *ring)
{
- unsigned int
ring_mask = ring->ring_size - 1
;
+ unsigned int
i
;
- while (ring->next_to_clean != ring->next_to_use) {
- struct ena_tx_buffer *tx_buf =
- &ring->tx_buffer_info[ring->next_to_clean & ring_mask];
+ for (i = 0; i < ring->ring_size; ++i) {
+ struct ena_tx_buffer *tx_buf = &ring->tx_buffer_info[i];
if (tx_buf->mbuf)
rte_pktmbuf_free(tx_buf->mbuf);
if (tx_buf->mbuf)
rte_pktmbuf_free(tx_buf->mbuf);
@@
-1772,6
+1771,7
@@
static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
/* Free whole mbuf chain */
mbuf = tx_info->mbuf;
rte_pktmbuf_free(mbuf);
/* Free whole mbuf chain */
mbuf = tx_info->mbuf;
rte_pktmbuf_free(mbuf);
+ tx_info->mbuf = NULL;
/* Put back descriptor to the ring for reuse */
tx_ring->empty_tx_reqs[next_to_clean & ring_mask] = req_id;
/* Put back descriptor to the ring for reuse */
tx_ring->empty_tx_reqs[next_to_clean & ring_mask] = req_id;