diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2018-09-06 12:19:36 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2018-09-06 12:19:36 +0000 |
commit | 0be5034007d8289b3a4a92176199d7763870f77f (patch) | |
tree | d93cc50fa5185865c5bc4dd3b24d17e85f60ba5c /sys/dev/mlx5/mlx5_en/mlx5_en_tx.c | |
parent | 2d32b0a3049c22f13062396101ba622686a39ec6 (diff) | |
download | src-0be5034007d8289b3a4a92176199d7763870f77f.tar.gz src-0be5034007d8289b3a4a92176199d7763870f77f.zip |
Don't stall transmit queue on drops in mlx5en(4).
When a transmitted packet is dropped don't stall the transmit queue.
MFC after: 3 days
Approved by: re (marius)
Sponsored by: Mellanox Technologies
Notes
Notes:
svn path=/head/; revision=338490
Diffstat (limited to 'sys/dev/mlx5/mlx5_en/mlx5_en_tx.c')
-rw-r--r-- | sys/dev/mlx5/mlx5_en/mlx5_en_tx.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c index 71dca59e795a..40d8157c6771 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c @@ -528,13 +528,11 @@ mlx5e_xmit_locked(struct ifnet *ifp, struct mlx5e_sq *sq, struct mbuf *mb) /* Process the queue */ while ((next = drbr_peek(ifp, sq->br)) != NULL) { if (mlx5e_sq_xmit(sq, &next) != 0) { - if (next == NULL) { - drbr_advance(ifp, sq->br); - } else { + if (next != NULL) { drbr_putback(ifp, sq->br, next); atomic_store_rel_int(&sq->queue_state, MLX5E_SQ_FULL); + break; } - break; } drbr_advance(ifp, sq->br); } |