i40iw: Add missing memory barrier
authorHenry Orosco <henry.orosco@intel.com>
Fri, 23 Jun 2017 21:04:00 +0000 (16:04 -0500)
committerDoug Ledford <dledford@redhat.com>
Thu, 20 Jul 2017 15:20:49 +0000 (11:20 -0400)
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>
drivers/infiniband/hw/i40iw/i40iw_puda.c

index db41ab40da9cea375b087d02fccbfe07adf0356a..1bb16814560f4d00abd66f66cce38e0620db161f 100644 (file)
@@ -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);