|
@@ -161,12 +161,14 @@ static void ib_ucm_cleanup_events(struct ib_ucm_context *ctx)
|
|
|
struct ib_ucm_event, ctx_list);
|
|
|
list_del(&uevent->file_list);
|
|
|
list_del(&uevent->ctx_list);
|
|
|
+ mutex_unlock(&ctx->file->file_mutex);
|
|
|
|
|
|
/* clear incoming connections. */
|
|
|
if (ib_ucm_new_cm_id(uevent->resp.event))
|
|
|
ib_destroy_cm_id(uevent->cm_id);
|
|
|
|
|
|
kfree(uevent);
|
|
|
+ mutex_lock(&ctx->file->file_mutex);
|
|
|
}
|
|
|
mutex_unlock(&ctx->file->file_mutex);
|
|
|
}
|