summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
diff options
context:
space:
mode:
authorTariq Toukan2017-07-03 10:27:20 +0200
committerSaeed Mahameed2017-09-03 05:34:09 +0200
commita1eaba4c5c29b6b5196b2237ce3a8d7d97622b2f (patch)
treea6e347763a08022c593359c579ad9049da4b22b9 /drivers/net/ethernet/mellanox/mlx5/core/en_main.c
parentnet/mlx5e: Refactor data-path lro header function (diff)
downloadkernel-qcow2-linux-a1eaba4c5c29b6b5196b2237ce3a8d7d97622b2f.tar.gz
kernel-qcow2-linux-a1eaba4c5c29b6b5196b2237ce3a8d7d97622b2f.tar.xz
kernel-qcow2-linux-a1eaba4c5c29b6b5196b2237ce3a8d7d97622b2f.zip
net/mlx5e: Non-atomic indicator for ring enabled state
Rings enabled state change occurs in control path only, and is always followed by a napi_sychronize(), so that following NAPIs read the new value. This read does not need to be atomic. The RQ auto-moderation bit is not set/cleared in data-path. No need for atomic read, a regular read operation is sufficient. In RQ creation time as well, there's no multiple threads trying to access it yet, hence a regular read can be used. Signed-off-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_main.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 5aa4681f7c3c..411fb68794bc 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -929,7 +929,7 @@ static int mlx5e_open_rq(struct mlx5e_channel *c,
goto err_destroy_rq;
if (params->rx_am_enabled)
- set_bit(MLX5E_RQ_STATE_AM, &c->rq.state);
+ c->rq.state |= BIT(MLX5E_RQ_STATE_AM);
return 0;