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 <[email protected]> --- 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

