From a76772f200022327684cf37a81093b5cf2a384ca Mon Sep 17 00:00:00 2001 From: "caiyi.xu" Date: Fri, 12 Apr 2024 08:47:33 +0000 Subject: [PATCH] dtv_demod: fix crash caused by accessing T2 registers on T5D (v3.5.35) [1/1] PD#SWPL-164868 Problem: system crashes when scanning on T2 mode on T5D Solution: avoid accessing T2 registers on T5D Verify: AM301 Change-Id: Ib19595337d6ff5de1121d398c070a27167a314c5 Signed-off-by: caiyi.xu --- drivers/media/dtv_demod/dvbt/dvbt_frontend.c | 9 ++++++--- drivers/media/dtv_demod/include/amlfrontend.h | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/media/dtv_demod/dvbt/dvbt_frontend.c b/drivers/media/dtv_demod/dvbt/dvbt_frontend.c index 7583563f1..4b7f29714 100644 --- a/drivers/media/dtv_demod/dvbt/dvbt_frontend.c +++ b/drivers/media/dtv_demod/dvbt/dvbt_frontend.c @@ -701,7 +701,8 @@ int dvbt2_tune(struct dvb_frontend *fe, bool re_tune, /*polling*/ dvbt2_read_status(fe, status, &is_signal); - dvbt2_info(demod, NULL); + if (cpu_after_eq(MESON_CPU_MAJOR_ID_T3)) + dvbt2_info(demod, NULL); return 0; } @@ -745,8 +746,10 @@ int dvbtx_tune(struct dvb_frontend *fe, bool re_tune, read_status = cur_system == SYS_DVBT ? dvbt_read_status : dvbt2_read_status; read_status(fe, status, &is_signal); - show_info = cur_system == SYS_DVBT ? dvbt_info : dvbt2_info; - show_info(demod, NULL); + if (cpu_after_eq(MESON_CPU_MAJOR_ID_T3)) { + show_info = cur_system == SYS_DVBT ? dvbt_info : dvbt2_info; + show_info(demod, NULL); + } if (*status == FE_TIMEDOUT && is_signal == -1) { if (chk_times > 0) { diff --git a/drivers/media/dtv_demod/include/amlfrontend.h b/drivers/media/dtv_demod/include/amlfrontend.h index 113e45ce3..d85a96c2f 100644 --- a/drivers/media/dtv_demod/include/amlfrontend.h +++ b/drivers/media/dtv_demod/include/amlfrontend.h @@ -159,6 +159,7 @@ /* V3.5.032 rebuild dtmb driver */ /* V3.5.033 remove more print logs */ /* V3.5.034 fix incorrect cfo calculation results and add t2 info */ +/* V3.5.035 fix crash caused by accessing T2 registers on T5D */ /****************************************************/ /****************************************************************/ /* AMLDTVDEMOD_VER Description: */ @@ -175,8 +176,8 @@ /*->The last four digits indicate the release time */ /****************************************************************/ #define KERNEL_4_9_EN 1 -#define AMLDTVDEMOD_VER "V3.5.034" -#define DTVDEMOD_VER "2024/04/10: fix incorrect cfo calculation results and add t2 info" +#define AMLDTVDEMOD_VER "V3.5.035" +#define DTVDEMOD_VER "2024/04/12: fix crash caused by accessing T2 registers on T5D" #define AMLDTVDEMOD_T2_FW_VER "20231019_141000" #define DEMOD_DEVICE_NAME "dtvdemod"