git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/i40e: fix variable assignment
[dpdk.git]
/
drivers
/
net
/
dpaa2
/
dpaa2_rxtx.c
diff --git
a/drivers/net/dpaa2/dpaa2_rxtx.c
b/drivers/net/dpaa2/dpaa2_rxtx.c
index
9e7de44
..
3c057a3
100644
(file)
--- a/
drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/
drivers/net/dpaa2/dpaa2_rxtx.c
@@
-40,7
+40,6
@@
#include <rte_memcpy.h>
#include <rte_string_fns.h>
#include <rte_dev.h>
#include <rte_memcpy.h>
#include <rte_string_fns.h>
#include <rte_dev.h>
-#include <rte_ethdev.h>
#include <fslmc_logs.h>
#include <fslmc_vfio.h>
#include <fslmc_logs.h>
#include <fslmc_vfio.h>
@@
-525,7
+524,7
@@
uint16_t
dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
{
/* Function to transmit the frames to given device and VQ*/
dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
{
/* Function to transmit the frames to given device and VQ*/
- uint32_t loop;
+ uint32_t loop
, retry_count
;
int32_t ret;
struct qbman_fd fd_arr[MAX_TX_RING_SLOTS];
struct rte_mbuf *mi;
int32_t ret;
struct qbman_fd fd_arr[MAX_TX_RING_SLOTS];
struct rte_mbuf *mi;
@@
-560,8
+559,13
@@
dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
/*Clear the unused FD fields before sending*/
while (nb_pkts) {
/*Check if the queue is congested*/
/*Clear the unused FD fields before sending*/
while (nb_pkts) {
/*Check if the queue is congested*/
- if (qbman_result_SCN_state_in_mem(dpaa2_q->cscn))
- goto skip_tx;
+ retry_count = 0;
+ if (qbman_result_SCN_state_in_mem(dpaa2_q->cscn)) {
+ retry_count++;
+ /* Retry for some time before giving up */
+ if (retry_count > CONG_RETRY_COUNT)
+ goto skip_tx;
+ }
frames_to_send = (nb_pkts >> 3) ? MAX_TX_RING_SLOTS : nb_pkts;
frames_to_send = (nb_pkts >> 3) ? MAX_TX_RING_SLOTS : nb_pkts;