2020-01-07 19:31:57

by Madhuparna Bhowmik

[permalink] [raw]
Subject: [PATCH 2/3] infiniband: hw: qib: qib_verbs: Use built-in RCU list checking

From: Madhuparna Bhowmik <[email protected]>

Use built-in RCU and lock checking for list_for_each_entry_rcu
by passing cond argument to it.

Signed-off-by: Madhuparna Bhowmik <[email protected]>
---
drivers/infiniband/hw/qib/qib_verbs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/qib/qib_verbs.c b/drivers/infiniband/hw/qib/qib_verbs.c
index 33778d451b82..845ba888734e 100644
--- a/drivers/infiniband/hw/qib/qib_verbs.c
+++ b/drivers/infiniband/hw/qib/qib_verbs.c
@@ -329,7 +329,8 @@ void qib_ib_rcv(struct qib_ctxtdata *rcd, void *rhdr, void *data, u32 tlen)
if (mcast == NULL)
goto drop;
this_cpu_inc(ibp->pmastats->n_multicast_rcv);
- list_for_each_entry_rcu(p, &mcast->qp_list, list)
+ list_for_each_entry_rcu(p, &mcast->qp_list, list,
+ lock_is_held(&(ibp->rvp.lock).dep_map))
qib_qp_rcv(rcd, hdr, 1, data, tlen, p->qp);
/*
* Notify rvt_multicast_detach() if it is waiting for us
--
2.17.1