|
@@ -152,6 +152,7 @@ static inline void efx_reado(struct efx_nic *efx, efx_oword_t *value,
|
|
|
|
|
|
spin_lock_irqsave(&efx->biu_lock, flags);
|
|
|
value->u32[0] = _efx_readd(efx, reg + 0);
|
|
|
+ rmb();
|
|
|
value->u32[1] = _efx_readd(efx, reg + 4);
|
|
|
value->u32[2] = _efx_readd(efx, reg + 8);
|
|
|
value->u32[3] = _efx_readd(efx, reg + 12);
|
|
@@ -174,6 +175,7 @@ static inline void efx_sram_readq(struct efx_nic *efx, void __iomem *membase,
|
|
|
value->u64[0] = (__force __le64)__raw_readq(membase + addr);
|
|
|
#else
|
|
|
value->u32[0] = (__force __le32)__raw_readl(membase + addr);
|
|
|
+ rmb();
|
|
|
value->u32[1] = (__force __le32)__raw_readl(membase + addr + 4);
|
|
|
#endif
|
|
|
spin_unlock_irqrestore(&efx->biu_lock, flags);
|