diff options
Diffstat (limited to 'include/linux/virtio_ring.h')
| -rw-r--r-- | include/linux/virtio_ring.h | 23 | 
1 files changed, 4 insertions, 19 deletions
diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h index 67e06fe18c03..8e50888a6d59 100644 --- a/include/linux/virtio_ring.h +++ b/include/linux/virtio_ring.h @@ -21,19 +21,20 @@   * actually quite cheap.   */ -#ifdef CONFIG_SMP  static inline void virtio_mb(bool weak_barriers)  { +#ifdef CONFIG_SMP  	if (weak_barriers)  		smp_mb();  	else +#endif  		mb();  }  static inline void virtio_rmb(bool weak_barriers)  {  	if (weak_barriers) -		smp_rmb(); +		dma_rmb();  	else  		rmb();  } @@ -41,26 +42,10 @@ static inline void virtio_rmb(bool weak_barriers)  static inline void virtio_wmb(bool weak_barriers)  {  	if (weak_barriers) -		smp_wmb(); +		dma_wmb();  	else  		wmb();  } -#else -static inline void virtio_mb(bool weak_barriers) -{ -	mb(); -} - -static inline void virtio_rmb(bool weak_barriers) -{ -	rmb(); -} - -static inline void virtio_wmb(bool weak_barriers) -{ -	wmb(); -} -#endif  struct virtio_device;  struct virtqueue;  |