[PATCH 4.8 074/125] IB/hfi1: Move iowait_init() to priv allocate
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2016-10-29 14:02:56
Also in:
lkml
4.8-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mike Marciniszyn <redacted>
commit 5a648dfad033bf5f945795c4e56ee7577f24f3e9 upstream.
The call is misplaced in the reset calldown function
and causes issues with lockdep assertions that are to
be added.
Fixes: Commit a2c2d608957c ("staging/rdma/hfi1: Remove create_qp functionality")
Reviewed-by: Ira Weiny <redacted>
Reviewed-by: Dennis Dalessandro <redacted>
Signed-off-by: Mike Marciniszyn <redacted>
Signed-off-by: Dennis Dalessandro <redacted>
Signed-off-by: Doug Ledford <redacted>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/infiniband/hw/hfi1/qp.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
--- a/drivers/infiniband/hw/hfi1/qp.c
+++ b/drivers/infiniband/hw/hfi1/qp.c@@ -808,6 +808,13 @@ void *qp_priv_alloc(struct rvt_dev_info kfree(priv); return ERR_PTR(-ENOMEM); } + iowait_init( + &priv->s_iowait, + 1, + _hfi1_do_send, + iowait_sleep, + iowait_wakeup, + iowait_sdma_drained); setup_timer(&priv->s_rnr_timer, hfi1_rc_rnr_retry, (unsigned long)qp); qp->s_timer.function = hfi1_rc_timeout; return priv;
@@ -873,13 +880,6 @@ void notify_qp_reset(struct rvt_qp *qp) { struct hfi1_qp_priv *priv = qp->priv; - iowait_init( - &priv->s_iowait, - 1, - _hfi1_do_send, - iowait_sleep, - iowait_wakeup, - iowait_sdma_drained); priv->r_adefered = 0; clear_ahg(qp); }