net/ena: fix out of order completion
authorRafal Kozik <rk@semihalf.com>
Wed, 21 Nov 2018 08:21:14 +0000 (09:21 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 22 Nov 2018 08:50:39 +0000 (09:50 +0100)
commit79405ee175857cfdbb508f9d55e2a51d95483be6
treef67487c09dffee9ac3f87c246305a6ef824d48f4
parent66cdfd67c5178ae5028aaf76fe500b61acfe313f
net/ena: fix out of order completion

rx_buffer_info should be refill not linearly, but out of order.
IDs should be taken from empty_rx_reqs array.

rx_refill_buffer is introduced to temporary storage
bulk of mbufs taken from pool.

In case of error unused mbufs are put back to pool.

Fixes: c2034976673d ("net/ena: add Rx out of order completion")
Cc: stable@dpdk.org
Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
drivers/net/ena/ena_ethdev.c
drivers/net/ena/ena_ethdev.h