summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Mason <jon.mason@intel.com>2013-01-19 02:02:17 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-20 15:45:50 -0800
commit842c1ddea5f9949cb21e568408d2af9d986eee69 (patch)
tree02970fc4c58f1e564f2f7bb90632bf805f8cdcf8
parent8222b402e2df3b92948141046bae82fb774f3f64 (diff)
downloadop-kernel-dev-842c1ddea5f9949cb21e568408d2af9d986eee69.zip
op-kernel-dev-842c1ddea5f9949cb21e568408d2af9d986eee69.tar.gz
NTB: correct memory barrier
mmiowb is not sufficient to flush the data and is causing data corruption. Change to wmb and the data corruption is no more. Signed-off-by: Jon Mason <jon.mason@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/ntb/ntb_transport.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index 1d17857..e9666bd 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -1009,7 +1009,7 @@ static void ntb_tx_copy_task(struct ntb_transport_qp *qp,
hdr->ver = qp->tx_pkts;
/* Ensure that the data is fully copied out before setting the flag */
- mmiowb();
+ wmb();
hdr->flags = entry->flags | DESC_DONE_FLAG;
ntb_ring_sdb(qp->ndev, qp->qp_num);
OpenPOWER on IntegriCloud