[PATCH 03/21] NTB: correct memory barrier

From: Jon Mason
Date: Sat Jan 19 2013 - 04:06:13 EST


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@xxxxxxxxx>
---
drivers/ntb/ntb_transport.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

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);
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/