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)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 27 Jan 2021 10:45:57 +0000 (11:45 +0100)
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>
drivers/media/test-drivers/vidtv/vidtv_psi.c

index 4511a2a..1724bb4 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);