*
  * Since these may be in userspace, we use (inline) accessors.
  */
+#include <linux/compiler.h>
 #include <linux/module.h>
 #include <linux/vringh.h>
 #include <linux/virtio_ring.h>
 static inline int getu16_kern(const struct vringh *vrh,
                              u16 *val, const __virtio16 *p)
 {
-       *val = vringh16_to_cpu(vrh, ACCESS_ONCE(*p));
+       *val = vringh16_to_cpu(vrh, READ_ONCE(*p));
        return 0;
 }
 
 static inline int putu16_kern(const struct vringh *vrh, __virtio16 *p, u16 val)
 {
-       ACCESS_ONCE(*p) = cpu_to_vringh16(vrh, val);
+       WRITE_ONCE(*p, cpu_to_vringh16(vrh, val));
        return 0;
 }