diff options
author | Jon Cooper <jcooper@solarflare.com> | 2013-09-27 13:26:30 -0400 |
---|---|---|
committer | Ben Hutchings <bhutchings@solarflare.com> | 2013-10-04 18:31:50 -0400 |
commit | d546a89362dcc35bc1aacf0e8e3b0da5a7d2dc89 (patch) | |
tree | 68eff89c510b125708e4093361d214089e4d73c0 /drivers/net/ethernet/sfc | |
parent | 5e8a402f831dbe7ee831340a91439e46f0d38acd (diff) |
sfc: Add rmb() between reading stats and generation count to ensure consistency
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc')
-rw-r--r-- | drivers/net/ethernet/sfc/ef10.c | 1 |
1 files changed, 1 insertions, 0 deletions
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) | |||
545 | rmb(); | 545 | rmb(); |
546 | efx_nic_update_stats(efx_ef10_stat_desc, EF10_STAT_COUNT, stats_mask, | 546 | efx_nic_update_stats(efx_ef10_stat_desc, EF10_STAT_COUNT, stats_mask, |
547 | stats, efx->stats_buffer.addr, false); | 547 | stats, efx->stats_buffer.addr, false); |
548 | rmb(); | ||
548 | generation_start = dma_stats[MC_CMD_MAC_GENERATION_START]; | 549 | generation_start = dma_stats[MC_CMD_MAC_GENERATION_START]; |
549 | if (generation_end != generation_start) | 550 | if (generation_end != generation_start) |
550 | return -EAGAIN; | 551 | return -EAGAIN; |