summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel W. S. Almeida <dwlsalmeida@gmail.com>2020-10-31 18:05:52 +0300
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-11-26 09:40:36 +0300
commitc2b6ca661ae209ea3eeb71ea38ef3fa7dca9c3c1 (patch)
tree6cbd36fa388603c71bba7cc50874763e3e4b45e3
parent99b99d135ee3fd3a073556b5b646a69b1793f3a2 (diff)
downloadlinux-c2b6ca661ae209ea3eeb71ea38ef3fa7dca9c3c1.tar.xz
media: vidtv: psi: fix missing assignments in while loops
Some variables were only assigned once but were used in while loops as if they had been updated at every iteration. Fix this. Signed-off-by: Daniel W. S. Almeida <dwlsalmeida@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-rw-r--r--drivers/media/test-drivers/vidtv/vidtv_psi.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/media/test-drivers/vidtv/vidtv_psi.c b/drivers/media/test-drivers/vidtv/vidtv_psi.c
index ad2957efa483..4dda5b0004a3 100644
--- a/drivers/media/test-drivers/vidtv/vidtv_psi.c
+++ b/drivers/media/test-drivers/vidtv/vidtv_psi.c
@@ -1175,9 +1175,7 @@ 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 = (stream) ?
- args.pmt->stream->descriptor :
- NULL;
+ struct vidtv_psi_desc *stream_descriptor;
struct header_write_args h_args = {};
struct psi_write_args psi_args = {};
@@ -1237,6 +1235,8 @@ u32 vidtv_psi_pmt_write_into(struct vidtv_psi_pmt_write_args args)
nbytes += vidtv_psi_ts_psi_write_into(psi_args);
+ stream_descriptor = stream->descriptor;
+
while (stream_descriptor) {
/* write the stream descriptors, if any */
d_args.dest_buf = args.buf;
@@ -1324,9 +1324,7 @@ u32 vidtv_psi_sdt_write_into(struct vidtv_psi_sdt_write_args args)
u32 crc = INITIAL_CRC;
struct vidtv_psi_table_sdt_service *service = args.sdt->service;
- struct vidtv_psi_desc *service_desc = (args.sdt->service) ?
- args.sdt->service->descriptor :
- NULL;
+ struct vidtv_psi_desc *service_desc;
struct header_write_args h_args = {};
struct psi_write_args psi_args = {};
@@ -1373,6 +1371,8 @@ u32 vidtv_psi_sdt_write_into(struct vidtv_psi_sdt_write_args args)
nbytes += vidtv_psi_ts_psi_write_into(psi_args);
+ service_desc = service->descriptor;
+
while (service_desc) {
/* copy the service descriptors, if any */
d_args.dest_buf = args.buf;
@@ -1616,9 +1616,7 @@ u32 vidtv_psi_nit_write_into(struct vidtv_psi_nit_write_args args)
struct vidtv_psi_desc *table_descriptor = args.nit->descriptor;
struct vidtv_psi_table_transport *transport = args.nit->transport;
- struct vidtv_psi_desc *transport_descriptor = (transport) ?
- args.nit->transport->descriptor :
- NULL;
+ struct vidtv_psi_desc *transport_descriptor;
struct header_write_args h_args = {};
struct psi_write_args psi_args = {};
@@ -1686,6 +1684,8 @@ u32 vidtv_psi_nit_write_into(struct vidtv_psi_nit_write_args args)
nbytes += vidtv_psi_ts_psi_write_into(psi_args);
+ transport_descriptor = transport->descriptor;
+
while (transport_descriptor) {
/* write the transport descriptors, if any */
d_args.dest_buf = args.buf;
@@ -1823,9 +1823,7 @@ u32 vidtv_psi_eit_write_into(struct vidtv_psi_eit_write_args args)
u32 crc = INITIAL_CRC;
struct vidtv_psi_table_eit_event *event = args.eit->event;
- struct vidtv_psi_desc *event_descriptor = (args.eit->event) ?
- args.eit->event->descriptor :
- NULL;
+ struct vidtv_psi_desc *event_descriptor;
struct header_write_args h_args = {};
struct psi_write_args psi_args = {};