Commit 96db0e03 authored by Roland Dreier's avatar Roland Dreier

IB/mlx4: Lock SQ lock in mlx4_ib_post_send()

Because of a typo, mlx4_ib_post_send() takes the same lock rq.lock as
mlx4_ib_post_recv().  Correct the code so the intended sq.lock is
taken when posting a send.

Noticed by Yossi Leybovitch and pointed out by Jack Morgenstein from
Mellanox.
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 09f60f8f
...@@ -1282,7 +1282,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, ...@@ -1282,7 +1282,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
int size; int size;
int i; int i;
spin_lock_irqsave(&qp->rq.lock, flags); spin_lock_irqsave(&qp->sq.lock, flags);
ind = qp->sq.head; ind = qp->sq.head;
...@@ -1448,7 +1448,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, ...@@ -1448,7 +1448,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
(qp->sq.wqe_cnt - 1)); (qp->sq.wqe_cnt - 1));
} }
spin_unlock_irqrestore(&qp->rq.lock, flags); spin_unlock_irqrestore(&qp->sq.lock, flags);
return err; return err;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment