diff options
author | Henry Orosco <henry.orosco@intel.com> | 2017-06-23 16:04:00 -0500 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-07-20 11:20:49 -0400 |
commit | c5c9d27e6c79ab3ab36092fe67fb7f2c6a120171 (patch) | |
tree | 280a90481699938fc9a65f181b61d0fa7e519d0f /drivers/infiniband | |
parent | b5e452a04a10f12763f9836d3d3999f3bb1e56fb (diff) | |
download | linux-c5c9d27e6c79ab3ab36092fe67fb7f2c6a120171.tar.bz2 |
i40iw: Add missing memory barrier
Add missing write memory barrier before writing the
header containing valid bit to the WQE in i40iw_puda_send.
Signed-off-by: Henry Orosco <henry.orosco@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/i40iw/i40iw_puda.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_puda.c b/drivers/infiniband/hw/i40iw/i40iw_puda.c index db41ab40da9c..1bb16814560f 100644 --- a/drivers/infiniband/hw/i40iw/i40iw_puda.c +++ b/drivers/infiniband/hw/i40iw/i40iw_puda.c @@ -408,6 +408,9 @@ enum i40iw_status_code i40iw_puda_send(struct i40iw_sc_qp *qp, set_64bit_val(wqe, 0, info->paddr); set_64bit_val(wqe, 8, LS_64(info->len, I40IWQPSQ_FRAG_LEN)); set_64bit_val(wqe, 16, header[0]); + + /* Ensure all data is written before writing valid bit */ + wmb(); set_64bit_val(wqe, 24, header[1]); i40iw_debug_buf(qp->dev, I40IW_DEBUG_PUDA, "PUDA SEND WQE", wqe, 32); |