diff mbox series

[for-next] RDMA/siw: Fix post_recv QP state locking

Message ID 20191025142903.20625-1-bmt@zurich.ibm.com (mailing list archive)
State Mainlined
Commit 0edefddbae396e50eb7887d279d0c4bb4d7a6384
Delegated to: Jason Gunthorpe
Headers show
Series [for-next] RDMA/siw: Fix post_recv QP state locking | expand

Commit Message

Bernard Metzler Oct. 25, 2019, 2:29 p.m. UTC
Do not release qp state lock if not previously acquired.

Fixes: cf049bb31f71 ("RDMA/siw: Fix SQ/RQ drain logic")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
---
 drivers/infiniband/sw/siw/siw_verbs.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Leon Romanovsky Oct. 27, 2019, 6:33 a.m. UTC | #1
On Fri, Oct 25, 2019 at 04:29:03PM +0200, Bernard Metzler wrote:
> Do not release qp state lock if not previously acquired.
>
> Fixes: cf049bb31f71 ("RDMA/siw: Fix SQ/RQ drain logic")
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
> ---
>  drivers/infiniband/sw/siw/siw_verbs.c | 1 -
>  1 file changed, 1 deletion(-)
>

Thanks,
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Jason Gunthorpe Oct. 28, 2019, 5:37 p.m. UTC | #2
On Fri, Oct 25, 2019 at 04:29:03PM +0200, Bernard Metzler wrote:
> Do not release qp state lock if not previously acquired.
> 
> Fixes: cf049bb31f71 ("RDMA/siw: Fix SQ/RQ drain logic")
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
> Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
> ---
>  drivers/infiniband/sw/siw/siw_verbs.c | 1 -
>  1 file changed, 1 deletion(-)

Applied to for-next, thanks

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
index c0574ddc98fa..726a5924ea13 100644
--- a/drivers/infiniband/sw/siw/siw_verbs.c
+++ b/drivers/infiniband/sw/siw/siw_verbs.c
@@ -990,7 +990,6 @@  int siw_post_receive(struct ib_qp *base_qp, const struct ib_recv_wr *wr,
 	}
 	if (!qp->kernel_verbs) {
 		siw_dbg_qp(qp, "no kernel post_recv for user mapped sq\n");
-		up_read(&qp->state_lock);
 		*bad_wr = wr;
 		return -EINVAL;
 	}