The EIT header ID field should not contain the network ID, but,
instead, the service_id of the program described at EIT.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
                goto free_service_list;
 
        m->si.eit = vidtv_psi_eit_table_init(m->network_id,
-                                            m->transport_stream_id);
+                                            m->transport_stream_id,
+                                            programs->service_id);
        if (!m->si.eit)
                goto free_nit;
 
 
 
 struct vidtv_psi_table_eit
 *vidtv_psi_eit_table_init(u16 network_id,
-                         u16 transport_stream_id)
+                         u16 transport_stream_id,
+                         __be16 service_id)
 {
        struct vidtv_psi_table_eit *eit;
        const u16 SYNTAX = 0x1;
 
        eit->header.bitfield = cpu_to_be16((SYNTAX << 15) | (ONE << 14) | (ONES << 12));
 
-       eit->header.id = cpu_to_be16(network_id);
+       eit->header.id = service_id;
        eit->header.current_next = ONE;
 
        eit->header.version = 0x1f;
 
 
 struct vidtv_psi_table_eit
 *vidtv_psi_eit_table_init(u16 network_id,
-                         u16 transport_stream_id);
+                         u16 transport_stream_id,
+                         u16 service_id);
 
 /**
  * struct vidtv_psi_eit_write_args - Arguments for writing an EIT section