diff options
author | Mike Marciniszyn <mike.marciniszyn@intel.com> | 2016-03-07 11:35:24 -0800 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-03-17 15:55:20 -0400 |
commit | 5326dfbf005ca8589d709209a81d145c5b87b23d (patch) | |
tree | fca281ed53eb5bedb4962f5fc15bd99bce4dd71d /drivers/staging | |
parent | 1db78eeebee7cde877194ddc8691f192e6279609 (diff) | |
download | linux-5326dfbf005ca8589d709209a81d145c5b87b23d.tar.bz2 |
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')
-rw-r--r-- | drivers/staging/rdma/hfi1/verbs.c | 9 |
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: |