]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
media: vidtv: psi: fix missing crc for PMT
authorDaniel W. S. Almeida <dwlsalmeida@gmail.com>
Thu, 24 Dec 2020 15:04:00 +0000 (16:04 +0100)
committerAndrea Righi <andrea.righi@canonical.com>
Mon, 15 Mar 2021 14:09:08 +0000 (15:09 +0100)
[ Upstream commit 0a933a7f73d6c545dcbecb4f7a92d272aef4417b ]

The PMT write function was refactored and this broke the CRC computation.

Fix it.

Fixes: db9569f67e2e ("media: vidtv: cleanup PMT write table function")
Signed-off-by: Daniel W. S. Almeida <dwlsalmeida@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
drivers/media/test-drivers/vidtv/vidtv_psi.c

index 4511a2a98405d914d697248f91ab34d35d82ed13..1724bb485e670d91c3ac6ae09ddb2d0ad4ab29ff 100644 (file)
@@ -1164,6 +1164,8 @@ u32 vidtv_psi_pmt_write_into(struct vidtv_psi_pmt_write_args *args)
        struct vidtv_psi_desc *table_descriptor   = args->pmt->descriptor;
        struct vidtv_psi_table_pmt_stream *stream = args->pmt->stream;
        struct vidtv_psi_desc *stream_descriptor;
+       u32 crc = INITIAL_CRC;
+       u32 nbytes = 0;
        struct header_write_args h_args = {
                .dest_buf           = args->buf,
                .dest_offset        = args->offset,
@@ -1181,6 +1183,7 @@ u32 vidtv_psi_pmt_write_into(struct vidtv_psi_pmt_write_args *args)
                .new_psi_section    = false,
                .is_crc             = false,
                .dest_buf_sz        = args->buf_sz,
+               .crc                = &crc,
        };
        struct desc_write_args d_args   = {
                .dest_buf           = args->buf,
@@ -1193,8 +1196,6 @@ u32 vidtv_psi_pmt_write_into(struct vidtv_psi_pmt_write_args *args)
                .pid                = args->pid,
                .dest_buf_sz        = args->buf_sz,
        };
-       u32 crc = INITIAL_CRC;
-       u32 nbytes = 0;
 
        vidtv_psi_pmt_table_update_sec_len(args->pmt);