From: Jon Cooper <jcooper@solarflare.com>
Date: Fri, 27 Sep 2013 17:26:30 +0000 (+0100)
Subject: sfc: Add rmb() between reading stats and generation count to ensure consistency
X-Git-Tag: v3.12-rc7~20^2~48^2~5
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d546a89362dcc35bc1aacf0e8e3b0da5a7d2dc89;p=users%2Fjedix%2Flinux-maple.git

sfc: Add rmb() between reading stats and generation count to ensure consistency

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---

diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index 9f18ae984f9e..a4fbb383ac63 100644
--- a/drivers/net/ethernet/sfc/ef10.c
+++ b/drivers/net/ethernet/sfc/ef10.c
@@ -545,6 +545,7 @@ static int efx_ef10_try_update_nic_stats(struct efx_nic *efx)
 	rmb();
 	efx_nic_update_stats(efx_ef10_stat_desc, EF10_STAT_COUNT, stats_mask,
 			     stats, efx->stats_buffer.addr, false);
+	rmb();
 	generation_start = dma_stats[MC_CMD_MAC_GENERATION_START];
 	if (generation_end != generation_start)
 		return -EAGAIN;