Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1282,7 +1282,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
	int size;
	int i;

	spin_lock_irqsave(&qp->rq.lock, flags);
	spin_lock_irqsave(&qp->sq.lock, flags);

	ind = qp->sq.head;

@@ -1448,7 +1448,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
			       (qp->sq.wqe_cnt - 1));
	}

	spin_unlock_irqrestore(&qp->rq.lock, flags);
	spin_unlock_irqrestore(&qp->sq.lock, flags);

	return err;
}