aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/rdma/hfi1/qp.c
diff options
context:
space:
mode:
authorMike Marciniszyn <mike.marciniszyn@intel.com>2016-02-04 10:59:36 -0800
committerDoug Ledford <dledford@redhat.com>2016-03-10 20:38:03 -0500
commit08279d5c9424afd710c90d0b6df95612d2bb5a3f (patch)
tree6c92f773d77a6570e395cb47b5f98ddbae506f2d /drivers/staging/rdma/hfi1/qp.c
parentstaging/rdma/hfi1: add unique rnr timer (diff)
downloadlinux-dev-08279d5c9424afd710c90d0b6df95612d2bb5a3f.tar.xz
linux-dev-08279d5c9424afd710c90d0b6df95612d2bb5a3f.zip
staging/rdma/hfi1: use new RNR timer
Use the new RNR timer for hfi1. For qib, this timer doesn't exist, so exploit driver callbacks to use the new timer as appropriate. Reviewed-by: Jubin John <jubin.john@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/staging/rdma/hfi1/qp.c')
-rw-r--r--drivers/staging/rdma/hfi1/qp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/rdma/hfi1/qp.c b/drivers/staging/rdma/hfi1/qp.c
index a5f0e2e41eb1..b96d5ee397de 100644
--- a/drivers/staging/rdma/hfi1/qp.c
+++ b/drivers/staging/rdma/hfi1/qp.c
@@ -608,6 +608,7 @@ void *qp_priv_alloc(struct rvt_dev_info *rdi, struct rvt_qp *qp,
return ERR_PTR(-ENOMEM);
}
setup_timer(&priv->s_rnr_timer, hfi1_rc_rnr_retry, (unsigned long)qp);
+ qp->s_timer.function = hfi1_rc_timeout;
return priv;
}
@@ -647,6 +648,7 @@ unsigned free_all_qps(struct rvt_dev_info *rdi)
void flush_qp_waiters(struct rvt_qp *qp)
{
flush_iowait(qp);
+ hfi1_stop_rc_timers(qp);
}
void stop_send_queue(struct rvt_qp *qp)
@@ -654,6 +656,7 @@ void stop_send_queue(struct rvt_qp *qp)
struct hfi1_qp_priv *priv = qp->priv;
cancel_work_sync(&priv->s_iowait.iowork);
+ hfi1_del_timers_sync(qp);
}
void quiesce_qp(struct rvt_qp *qp)