diff options
author | Upinder Malhi <umalhi@cisco.com> | 2014-01-09 17:47:33 -0500 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-01-14 03:44:40 -0500 |
commit | 8192d4acb5c5376c0f6756f2106ab243036c8c7d (patch) | |
tree | a6f89a696ac9b028054fd97bf4d59da69c9164db | |
parent | e3cf00d0a87f025db5855a43a67c67a41fa79fef (diff) |
IB/usnic: Change WARN_ON to lockdep_assert_held
usNIC calls WARN_ON(spin_is_locked..) at few places. In some of these
instances, the call is made while holding a spinlock. Change
all WARN_ON(spin_is_locked...) calls in usNIC to
lockdep_assert_held to make it fool-proof bc the latter can be
called while holding a spinlock and unlike spin_is_locked,
lockdep_assert_held also works correctly on UP.
Signed-off-by: Upinder Malhi <umalhi@cisco.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r-- | drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c b/drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c index ca5fa6ad59ac..5a873f5c2794 100644 --- a/drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c +++ b/drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | |||
@@ -82,7 +82,7 @@ static int add_fwd_filter(struct usnic_ib_qp_grp *qp_grp, | |||
82 | struct usnic_vnic_res_chunk *chunk; | 82 | struct usnic_vnic_res_chunk *chunk; |
83 | int rq_idx; | 83 | int rq_idx; |
84 | 84 | ||
85 | WARN_ON(!spin_is_locked(&qp_grp->lock)); | 85 | lockdep_assert_held(&qp_grp->lock); |
86 | 86 | ||
87 | chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_RQ); | 87 | chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_RQ); |
88 | if (IS_ERR_OR_NULL(chunk) || chunk->cnt < 1) { | 88 | if (IS_ERR_OR_NULL(chunk) || chunk->cnt < 1) { |
@@ -119,7 +119,7 @@ static int del_all_filters(struct usnic_ib_qp_grp *qp_grp) | |||
119 | int err, status; | 119 | int err, status; |
120 | struct usnic_fwd_filter_hndl *filter_hndl, *tmp; | 120 | struct usnic_fwd_filter_hndl *filter_hndl, *tmp; |
121 | 121 | ||
122 | WARN_ON(!spin_is_locked(&qp_grp->lock)); | 122 | lockdep_assert_held(&qp_grp->lock); |
123 | 123 | ||
124 | status = 0; | 124 | status = 0; |
125 | 125 | ||
@@ -145,7 +145,7 @@ static int enable_qp_grp(struct usnic_ib_qp_grp *qp_grp) | |||
145 | struct usnic_vnic_res_chunk *res_chunk; | 145 | struct usnic_vnic_res_chunk *res_chunk; |
146 | struct usnic_vnic_res *res; | 146 | struct usnic_vnic_res *res; |
147 | 147 | ||
148 | WARN_ON(!spin_is_locked(&qp_grp->lock)); | 148 | lockdep_assert_held(&qp_grp->lock); |
149 | 149 | ||
150 | vnic_idx = usnic_vnic_get_index(qp_grp->vf->vnic); | 150 | vnic_idx = usnic_vnic_get_index(qp_grp->vf->vnic); |
151 | 151 | ||
@@ -189,7 +189,7 @@ static int disable_qp_grp(struct usnic_ib_qp_grp *qp_grp) | |||
189 | struct usnic_vnic_res *res; | 189 | struct usnic_vnic_res *res; |
190 | int status = 0; | 190 | int status = 0; |
191 | 191 | ||
192 | WARN_ON(!spin_is_locked(&qp_grp->lock)); | 192 | lockdep_assert_held(&qp_grp->lock); |
193 | vnic_idx = usnic_vnic_get_index(qp_grp->vf->vnic); | 193 | vnic_idx = usnic_vnic_get_index(qp_grp->vf->vnic); |
194 | 194 | ||
195 | res_chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_RQ); | 195 | res_chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_RQ); |
@@ -392,7 +392,7 @@ static int qp_grp_and_vf_bind(struct usnic_ib_vf *vf, | |||
392 | int err; | 392 | int err; |
393 | struct pci_dev *pdev; | 393 | struct pci_dev *pdev; |
394 | 394 | ||
395 | WARN_ON(!spin_is_locked(&vf->lock)); | 395 | lockdep_assert_held(&vf->lock); |
396 | 396 | ||
397 | pdev = usnic_vnic_get_pdev(vf->vnic); | 397 | pdev = usnic_vnic_get_pdev(vf->vnic); |
398 | if (vf->qp_grp_ref_cnt == 0) { | 398 | if (vf->qp_grp_ref_cnt == 0) { |
@@ -417,7 +417,7 @@ static void qp_grp_and_vf_unbind(struct usnic_ib_qp_grp *qp_grp) | |||
417 | struct pci_dev *pdev; | 417 | struct pci_dev *pdev; |
418 | struct usnic_ib_pd *pd; | 418 | struct usnic_ib_pd *pd; |
419 | 419 | ||
420 | WARN_ON(!spin_is_locked(&qp_grp->vf->lock)); | 420 | lockdep_assert_held(&qp_grp->vf->lock); |
421 | 421 | ||
422 | pd = qp_grp->vf->pd; | 422 | pd = qp_grp->vf->pd; |
423 | pdev = usnic_vnic_get_pdev(qp_grp->vf->vnic); | 423 | pdev = usnic_vnic_get_pdev(qp_grp->vf->vnic); |
@@ -446,7 +446,7 @@ usnic_ib_qp_grp_create(struct usnic_fwd_dev *ufdev, | |||
446 | u16 port_num; | 446 | u16 port_num; |
447 | int err; | 447 | int err; |
448 | 448 | ||
449 | WARN_ON(!spin_is_locked(&vf->lock)); | 449 | lockdep_assert_held(&vf->lock); |
450 | 450 | ||
451 | err = usnic_vnic_res_spec_satisfied(&min_transport_spec[transport], | 451 | err = usnic_vnic_res_spec_satisfied(&min_transport_spec[transport], |
452 | res_spec); | 452 | res_spec); |
@@ -514,7 +514,7 @@ void usnic_ib_qp_grp_destroy(struct usnic_ib_qp_grp *qp_grp) | |||
514 | enum usnic_transport_type transport; | 514 | enum usnic_transport_type transport; |
515 | 515 | ||
516 | WARN_ON(qp_grp->state != IB_QPS_RESET); | 516 | WARN_ON(qp_grp->state != IB_QPS_RESET); |
517 | WARN_ON(!spin_is_locked(&qp_grp->vf->lock)); | 517 | lockdep_assert_held(&qp_grp->vf->lock); |
518 | 518 | ||
519 | transport = qp_grp->filters[DFLT_FILTER_IDX].transport; | 519 | transport = qp_grp->filters[DFLT_FILTER_IDX].transport; |
520 | default_port_num = qp_grp->filters[DFLT_FILTER_IDX].port_num; | 520 | default_port_num = qp_grp->filters[DFLT_FILTER_IDX].port_num; |