diff options
author | Tariq Toukan <tariqt@mellanox.com> | 2016-02-29 21:17:09 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-03-02 14:37:24 -0500 |
commit | 59a7c2fd336eaafb030aac9c91ac21d136a99f33 (patch) | |
tree | e9cdbc46b92857dab6df3b698ae24260b7851769 /drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | |
parent | r8169: Enable RX_MULTI_EN for RTL_GIGA_MAC_VER_41~48 (diff) | |
download | linux-dev-59a7c2fd336eaafb030aac9c91ac21d136a99f33.tar.xz linux-dev-59a7c2fd336eaafb030aac9c91ac21d136a99f33.zip |
net/mlx5e: Remove wrong poll CQ optimization
With the MLX5E_CQ_HAS_CQES optimization flag, the following buggy
flow might occur:
- Suppose RX is always busy, TX has a single packet every second.
- We poll a single TX cqe and clear its flag.
- We never arm it again as RX is always busy.
- TX CQ flag is never changed, and new TX cqes are not polled.
We revert this optimization.
Fixes: e586b3b0baee ('net/mlx5: Ethernet Datapath files')
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c index 4ac8d716dbdd..66d51a77609e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c @@ -88,7 +88,6 @@ void mlx5e_completion_event(struct mlx5_core_cq *mcq) { struct mlx5e_cq *cq = container_of(mcq, struct mlx5e_cq, mcq); - set_bit(MLX5E_CQ_HAS_CQES, &cq->flags); set_bit(MLX5E_CHANNEL_NAPI_SCHED, &cq->channel->flags); barrier(); napi_schedule(cq->napi); |