diff options
author | Roland Dreier <rolandd@cisco.com> | 2007-10-30 10:53:54 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-10-30 10:53:54 -0700 |
commit | 96db0e0335c7981911bd7efc5c79e82d2358c0fc (patch) | |
tree | 276234e4b0e12397e6f4034c0336efb49e9fb19c /drivers | |
parent | 09f60f8f54c5e2391f0b7c38dccd7b00d83587ab (diff) | |
download | op-kernel-dev-96db0e0335c7981911bd7efc5c79e82d2358c0fc.zip op-kernel-dev-96db0e0335c7981911bd7efc5c79e82d2358c0fc.tar.gz |
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: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/hw/mlx4/qp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index 6b33224..8cba9c5 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c @@ -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 @@ out: (qp->sq.wqe_cnt - 1)); } - spin_unlock_irqrestore(&qp->rq.lock, flags); + spin_unlock_irqrestore(&qp->sq.lock, flags); return err; } |