aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/rdma
diff options
context:
space:
mode:
authorMike Marciniszyn <mike.marciniszyn@intel.com>2016-03-07 11:35:24 -0800
committerDoug Ledford <dledford@redhat.com>2016-03-17 15:55:20 -0400
commit5326dfbf005ca8589d709209a81d145c5b87b23d (patch)
treefca281ed53eb5bedb4962f5fc15bd99bce4dd71d /drivers/staging/rdma
parentIB/hfi1: Add unique trace point for pio and sdma send (diff)
downloadlinux-dev-5326dfbf005ca8589d709209a81d145c5b87b23d.tar.xz
linux-dev-5326dfbf005ca8589d709209a81d145c5b87b23d.zip
IB/hfi1: Fix ordering of trace for accuracy
The postitioning of the sdma ibhdr trace was causing an extra trace message when the tx send returned -EBUSY. Move the trace to just before the return and handle negative return values to avoid any trace. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@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')
-rw-r--r--drivers/staging/rdma/hfi1/verbs.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/staging/rdma/hfi1/verbs.c b/drivers/staging/rdma/hfi1/verbs.c
index e605e09d8084..467e6c349c68 100644
--- a/drivers/staging/rdma/hfi1/verbs.c
+++ b/drivers/staging/rdma/hfi1/verbs.c
@@ -891,11 +891,14 @@ int hfi1_verbs_send_dma(struct rvt_qp *qp, struct hfi1_pkt_state *ps,
if (unlikely(ret))
goto bail_build;
}
+ ret = sdma_send_txreq(tx->sde, &priv->s_iowait, &tx->txreq);
+ if (unlikely(ret < 0)) {
+ if (ret == -ECOMM)
+ goto bail_ecomm;
+ return ret;
+ }
trace_sdma_output_ibhdr(dd_from_ibdev(qp->ibqp.device),
&ps->s_txreq->phdr.hdr);
- ret = sdma_send_txreq(tx->sde, &priv->s_iowait, &tx->txreq);
- if (unlikely(ret == -ECOMM))
- goto bail_ecomm;
return ret;
bail_ecomm: