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/hns3: increase VF reset retry maximum
[dpdk.git]
/
drivers
/
net
/
ionic
/
ionic_rxtx.c
diff --git
a/drivers/net/ionic/ionic_rxtx.c
b/drivers/net/ionic/ionic_rxtx.c
index
bb67c49
..
b83ea1b
100644
(file)
--- a/
drivers/net/ionic/ionic_rxtx.c
+++ b/
drivers/net/ionic/ionic_rxtx.c
@@
-536,15
+536,16
@@
ionic_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
struct ionic_tx_stats *stats = &txq->stats;
uint32_t next_q_head_idx;
uint32_t bytes_tx = 0;
struct ionic_tx_stats *stats = &txq->stats;
uint32_t next_q_head_idx;
uint32_t bytes_tx = 0;
- uint16_t nb_tx = 0;
+ uint16_t nb_
avail, nb_
tx = 0;
int err;
/* Cleaning old buffers */
ionic_tx_flush(txq);
int err;
/* Cleaning old buffers */
ionic_tx_flush(txq);
- if (unlikely(ionic_q_space_avail(q) < nb_pkts)) {
- stats->stop += nb_pkts;
- return 0;
+ nb_avail = ionic_q_space_avail(q);
+ if (unlikely(nb_avail < nb_pkts)) {
+ stats->stop += nb_pkts - nb_avail;
+ nb_pkts = nb_avail;
}
while (nb_tx < nb_pkts) {
}
while (nb_tx < nb_pkts) {
@@
-597,9
+598,9
@@
ionic_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
(PKT_TX_OFFLOAD_MASK ^ IONIC_TX_OFFLOAD_MASK)
uint16_t
(PKT_TX_OFFLOAD_MASK ^ IONIC_TX_OFFLOAD_MASK)
uint16_t
-ionic_prep_pkts(void *tx_queue __rte_unused, struct rte_mbuf **tx_pkts,
- uint16_t nb_pkts)
+ionic_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
{
{
+ struct ionic_tx_qcq *txq = tx_queue;
struct rte_mbuf *txm;
uint64_t offloads;
int i = 0;
struct rte_mbuf *txm;
uint64_t offloads;
int i = 0;
@@
-607,7
+608,7
@@
ionic_prep_pkts(void *tx_queue __rte_unused, struct rte_mbuf **tx_pkts,
for (i = 0; i < nb_pkts; i++) {
txm = tx_pkts[i];
for (i = 0; i < nb_pkts; i++) {
txm = tx_pkts[i];
- if (txm->nb_segs >
IONIC_TX_MAX_SG_ELEMS_V1 + 1
) {
+ if (txm->nb_segs >
txq->num_segs_fw
) {
rte_errno = -EINVAL;
break;
}
rte_errno = -EINVAL;
break;
}