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

From: madhuparnabhowmik04
Date: Tue Jan 07 2020 - 14:30:55 EST


From: Madhuparna Bhowmik <madhuparnabhowmik04@xxxxxxxxx>

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

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04@xxxxxxxxx>
---
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