소스 검색

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

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Jon Cooper 12 년 전
부모
커밋
d546a89362
1개의 변경된 파일1개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      drivers/net/ethernet/sfc/ef10.c

+ 1 - 0
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;