Commit 25a033f5 authored by Guoqing Jiang's avatar Guoqing Jiang Committed by Jason Gunthorpe
Browse files

RDMA/rtrs-clt: Kill wait_for_inflight_permits

parent 7b47b27f
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -1318,6 +1318,12 @@ static int alloc_permits(struct rtrs_clt *clt)

static void free_permits(struct rtrs_clt *clt)
{
	if (clt->permits_map) {
		size_t sz = clt->queue_depth;

		wait_event(clt->permits_wait,
			   find_first_bit(clt->permits_map, sz) >= sz);
	}
	kfree(clt->permits_map);
	clt->permits_map = NULL;
	kfree(clt->permits);
@@ -2607,19 +2613,8 @@ static struct rtrs_clt *alloc_clt(const char *sessname, size_t paths_num,
	return clt;
}

static void wait_for_inflight_permits(struct rtrs_clt *clt)
{
	if (clt->permits_map) {
		size_t sz = clt->queue_depth;

		wait_event(clt->permits_wait,
			   find_first_bit(clt->permits_map, sz) >= sz);
	}
}

static void free_clt(struct rtrs_clt *clt)
{
	wait_for_inflight_permits(clt);
	free_permits(clt);
	free_percpu(clt->pcpu_path);
	mutex_destroy(&clt->paths_ev_mutex);