• YongSu Yoo's avatar
    media: dvb_ringbuffer : Fix a bug in dvb_ringbuffer.c · bbffe6f6
    YongSu Yoo authored
    The function dvb_ringbuffer_pkt_next in
    /linux-next/drviers/media/dvb-core/dvb_ringbuffer.c,
    which searches the idx of the next valid packet in the ring
    buffer of the ca->slot_info[slot].rx_buffer at
    /linux-next/drivers/media/dvb-core/dvb_ca_en50221.c,
    has the following problem.
    In calculating the amounts of the consumed address of the ring
    buffer, if the read address(rbuf->pread) of the ring buffer is
    smaller than the idx, the amounts of the searched address
    should be (idx - rbuf->pread),
    whereas if the read address(rbuf->pread) of the ring buffer is
    larger than the idx, the amounts of the consumed address should
    be (idx - rbuf->pread + rbug->size). But there exists an
    incorrect logic that the rbug-size was not properly added on
    (idx - rbug->pread) in the later case. With this commit, we
    fixed this bug.
    
    Link: https://lore.kernel.org/linux-media/20220623103543.4138-1-yongsuyoo0215@gmail.com
    
    Signed-off-by: default avatarYongsu Yoo <yongsuyoo0215@gmail.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
    bbffe6f6
dvb_ringbuffer.c 9.9 KB