On 10/28/2020 2:14 PM, Jason Gunthorpe wrote:
On Wed, Oct 28, 2020 at 11:19:14AM +0200, Maor Gottlieb wrote:
+ struct rdma_conn_param *conn_param)
{
struct rdma_id_private *id_priv =
container_of(id, struct rdma_id_private, id);
int ret;
- mutex_lock(&id_priv->handler_mutex);
You need to delete the mutex_unlock in success path too.
Gaaaaah. Just goes to prove I shouldn't write patches with a child on
my lap :\
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index f58d19881524dc..a77750b8954db0 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -4072,7 +4072,6 @@ int rdma_connect_locked(struct rdma_cm_id *id,
ret = -ENOSYS;
if (ret)
goto err_state;
- mutex_unlock(&id_priv->handler_mutex);
return 0;
err_state:
cma_comp_exch(id_priv, RDMA_CM_CONNECT, RDMA_CM_ROUTE_RESOLVED);
Thanks,
Jason
Reviewed-by: Maor Gottlieb <maorg@xxxxxxxxxx>