vio: fix reuse of vio_dring slot
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / sparc / include / asm / vio.h
index a8210c5..55841c1 100644 (file)
@@ -265,7 +265,7 @@ static inline u32 vio_dring_avail(struct vio_dring_state *dr,
                                  unsigned int ring_size)
 {
        return (dr->pending -
-               ((dr->prod - dr->cons) & (ring_size - 1)));
+               ((dr->prod - dr->cons) & (ring_size - 1)) - 1);
 }
 
 #define VIO_MAX_TYPE_LEN       32