Skip to content

Commit

Permalink
net/mlx5e: Fix wrong xmit_more application
Browse files Browse the repository at this point in the history
Cited patch refactored the xmit_more indication while not preserving
its functionality. Fix it.

Fixes: 3c31ff2 ("drivers: mellanox: use netdev_xmit_more() helper")
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
  • Loading branch information
Tariq Toukan authored and Saeed Mahameed committed May 17, 2019
1 parent dd06486 commit 299a119
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
9 changes: 5 additions & 4 deletions drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ netdev_tx_t mlx5e_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,
}

stats->bytes += num_bytes;
stats->xmit_more += netdev_xmit_more();
stats->xmit_more += xmit_more;

headlen = skb->len - ihs - skb->data_len;
ds_cnt += !!headlen;
Expand Down Expand Up @@ -624,7 +624,8 @@ mlx5i_txwqe_build_datagram(struct mlx5_av *av, u32 dqpn, u32 dqkey,
}

netdev_tx_t mlx5i_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,
struct mlx5_av *av, u32 dqpn, u32 dqkey)
struct mlx5_av *av, u32 dqpn, u32 dqkey,
bool xmit_more)
{
struct mlx5_wq_cyc *wq = &sq->wq;
struct mlx5i_tx_wqe *wqe;
Expand Down Expand Up @@ -660,7 +661,7 @@ netdev_tx_t mlx5i_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,
}

stats->bytes += num_bytes;
stats->xmit_more += netdev_xmit_more();
stats->xmit_more += xmit_more;

headlen = skb->len - ihs - skb->data_len;
ds_cnt += !!headlen;
Expand Down Expand Up @@ -705,7 +706,7 @@ netdev_tx_t mlx5i_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,
goto err_drop;

mlx5e_txwqe_complete(sq, skb, opcode, ds_cnt, num_wqebbs, num_bytes,
num_dma, wi, cseg, false);
num_dma, wi, cseg, xmit_more);

return NETDEV_TX_OK;

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ static int mlx5i_xmit(struct net_device *dev, struct sk_buff *skb,
struct mlx5_ib_ah *mah = to_mah(address);
struct mlx5i_priv *ipriv = epriv->ppriv;

return mlx5i_sq_xmit(sq, skb, &mah->av, dqpn, ipriv->qkey);
return mlx5i_sq_xmit(sq, skb, &mah->av, dqpn, ipriv->qkey, netdev_xmit_more());
}

static void mlx5i_set_pkey_index(struct net_device *netdev, int id)
Expand Down
3 changes: 2 additions & 1 deletion drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@ static inline void mlx5i_sq_fetch_wqe(struct mlx5e_txqsq *sq,
}

netdev_tx_t mlx5i_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,
struct mlx5_av *av, u32 dqpn, u32 dqkey);
struct mlx5_av *av, u32 dqpn, u32 dqkey,
bool xmit_more);
void mlx5i_handle_rx_cqe(struct mlx5e_rq *rq, struct mlx5_cqe64 *cqe);
void mlx5i_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats);

Expand Down

0 comments on commit 299a119

Please sign in to comment.