diff options
author | Eric Dumazet <edumazet@google.com> | 2015-11-18 06:30:51 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-11-18 16:17:38 -0500 |
commit | 5865316c9db31e863d4baef04dc86957d7fdae7f (patch) | |
tree | 3ad5b73f679654aa7da69eb5dd866110d3109e40 /drivers | |
parent | 52bd2d62ce6758d811edcbd2256eb9ea7f6a56cb (diff) | |
download | linux-5865316c9db31e863d4baef04dc86957d7fdae7f.tar.bz2 |
mlx4: mlx4_en_low_latency_recv() called with BH disabled
mlx4_en_low_latency_recv() is called with BH disabled,
as other ndo_busy_poll() methods.
No need for spin_lock_bh()/spin_unlock_bh()
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h index c41f15102ae0..965c8f016ac4 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h +++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h @@ -660,11 +660,12 @@ static inline bool mlx4_en_cq_unlock_napi(struct mlx4_en_cq *cq) return rc; } -/* called from mlx4_en_low_latency_poll() */ +/* called from mlx4_en_low_latency_recv(), BH are disabled */ static inline bool mlx4_en_cq_lock_poll(struct mlx4_en_cq *cq) { int rc = true; - spin_lock_bh(&cq->poll_lock); + + spin_lock(&cq->poll_lock); if ((cq->state & MLX4_CQ_LOCKED)) { struct net_device *dev = cq->dev; struct mlx4_en_priv *priv = netdev_priv(dev); @@ -676,7 +677,7 @@ static inline bool mlx4_en_cq_lock_poll(struct mlx4_en_cq *cq) } else /* preserve yield marks */ cq->state |= MLX4_EN_CQ_STATE_POLL; - spin_unlock_bh(&cq->poll_lock); + spin_unlock(&cq->poll_lock); return rc; } @@ -684,13 +685,14 @@ static inline bool mlx4_en_cq_lock_poll(struct mlx4_en_cq *cq) static inline bool mlx4_en_cq_unlock_poll(struct mlx4_en_cq *cq) { int rc = false; - spin_lock_bh(&cq->poll_lock); + + spin_lock(&cq->poll_lock); WARN_ON(cq->state & (MLX4_EN_CQ_STATE_NAPI)); if (cq->state & MLX4_EN_CQ_STATE_POLL_YIELD) rc = true; cq->state = MLX4_EN_CQ_STATE_IDLE; - spin_unlock_bh(&cq->poll_lock); + spin_unlock(&cq->poll_lock); return rc; } |