From 9cd8faa36fd43d013131681175fcea325c099f3d Mon Sep 17 00:00:00 2001 From: "Zhengrong.Zhu" Date: Mon, 18 Nov 2019 19:12:45 +0800 Subject: [PATCH] hdmirx: Coverity(upgraded) defect cleanup:hdmi rx [1/1] PD#SWPL-16523 Problem: Coverity(upgraded) defect cleanup:hdmi rx Solution: Modify code according to coverity Verify: verify on the board of x3011 Change-Id: I9dcdcede98dcf386874674442a9eea2c64d619ab Signed-off-by: Zhengrong Zhu --- .../media/vin/tvin/hdmirx/hdmi_rx_drv.c | 44 ++++-- .../media/vin/tvin/hdmirx/hdmi_rx_drv.h | 8 +- .../media/vin/tvin/hdmirx/hdmi_rx_hw.c | 47 +++--- .../media/vin/tvin/hdmirx/hdmi_rx_pktinfo.c | 134 +++++++++--------- .../media/vin/tvin/hdmirx/hdmi_rx_repeater.c | 3 +- .../media/vin/tvin/hdmirx/hdmi_rx_wrapper.c | 2 +- .../vin/tvin/hdmirx_ext/hdmirx_ext_attrs.c | 7 +- 7 files changed, 133 insertions(+), 112 deletions(-) diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c index 2df69056496c..6145c2e49896 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c @@ -269,13 +269,29 @@ static unsigned int first_bit_set(uint32_t data) */ unsigned int rx_get_bits(unsigned int data, unsigned int mask) { - return (data & mask) >> first_bit_set(mask); + unsigned int fstbs_rtn; + unsigned int rtn_val; + + fstbs_rtn = first_bit_set(mask); + if (fstbs_rtn < 32) + rtn_val = (data & mask) >> fstbs_rtn; + else + rtn_val = 0; + return rtn_val; } unsigned int rx_set_bits(unsigned int data, unsigned int mask, unsigned int value) { - return ((value << first_bit_set(mask)) & mask) | (data & ~mask); + unsigned int fstbs_rtn; + unsigned int rtn_val; + + fstbs_rtn = first_bit_set(mask); + if (fstbs_rtn < 32) + rtn_val = ((value << fstbs_rtn) & mask) | (data & ~mask); + else + rtn_val = 0; + return rtn_val; } bool hdmirx_repeat_support(void) @@ -1515,7 +1531,7 @@ static ssize_t ksvlist_store(struct device *dev, /* unsigned char t_tmp[3]; */ cnt = count; /* t_tmp[2] = '\0'; */ - rx_pr("dw hdcp %d,%d\n", cnt, sizeof(struct hdcp14_topo_s)); + rx_pr("dw hdcp %d,%lu\n", cnt, sizeof(struct hdcp14_topo_s)); /*for(i = 0;i < count/2;i++) { * memcpy(t_tmp, buf + i*2, 2); * if (kstrtoul(t_tmp, 16, &tmp)) @@ -1836,19 +1852,19 @@ void rx_emp_resource_allocate(struct device *dev) { if (rx.chip_id >= CHIP_ID_TL1) { /* allocate buffer */ - if (!rx.empbuff.storeA) - rx.empbuff.storeA = + if (!rx.empbuff.store_a) + rx.empbuff.store_a = kmalloc(EMP_BUFFER_SIZE, GFP_KERNEL); else rx_pr("malloc emp buffer err\n"); - if (rx.empbuff.storeA) - rx.empbuff.storeB = - rx.empbuff.storeA + (EMP_BUFFER_SIZE >> 1); + if (rx.empbuff.store_a) + rx.empbuff.store_b = + rx.empbuff.store_a + (EMP_BUFFER_SIZE >> 1); else rx_pr("emp buff err-0\n"); - rx_pr("pktbuffa=0x%p\n", rx.empbuff.storeA); - rx_pr("pktbuffb=0x%p\n", rx.empbuff.storeB); + rx_pr("pktbuffa=0x%p\n", rx.empbuff.store_a); + rx_pr("pktbuffb=0x%p\n", rx.empbuff.store_b); rx.empbuff.dump_mode = DUMP_MODE_EMP; /* allocate buffer for hw access*/ rx.empbuff.pg_addr = @@ -1862,8 +1878,10 @@ void rx_emp_resource_allocate(struct device *dev) rx.empbuff.p_addr_b = rx.empbuff.p_addr_a + (EMP_BUFFER_SIZE >> 1); //page_address - rx_pr("buffa paddr=0x%x\n", rx.empbuff.p_addr_a); - rx_pr("buffb paddr=0x%x\n", rx.empbuff.p_addr_b); + rx_pr("buffa paddr=0x%p\n", + (void *)rx.empbuff.p_addr_a); + rx_pr("buffb paddr=0x%p\n", + (void *)rx.empbuff.p_addr_b); } else { rx_pr("emp buff err-1\n"); } @@ -1909,7 +1927,7 @@ void rx_tmds_resource_allocate(struct device *dev) else rx_pr("allocate tmds data buff fail\n"); rx.empbuff.dump_mode = DUMP_MODE_TMDS; - rx_pr("buffa paddr=0x%x\n", rx.empbuff.p_addr_a); + rx_pr("buffa paddr=0x%p\n", (void *)rx.empbuff.p_addr_a); #if 0 /*clear buffer for test*/ for (i = 0; i < 10; i++) { diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h index 03940ccc4689..d95827b63fcf 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h @@ -41,13 +41,13 @@ * * */ -#define RX_VER1 "ver.2019/10/17" +#define RX_VER1 "ver.2019/11/05" /* * * * */ -#define RX_VER2 "ver.2019/11/05" +#define RX_VER2 "ver.2019/11/18" /*print type*/ #define LOG_EN 0x01 @@ -390,8 +390,8 @@ struct emp_buff { phys_addr_t p_addr_b; /*void __iomem *v_addr_a;*/ /*void __iomem *v_addr_b;*/ - void __iomem *storeA; - void __iomem *storeB; + void __iomem *store_a; + void __iomem *store_b; void __iomem *ready; unsigned long irqcnt; unsigned int emppktcnt; diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c index b08150f2198e..11c02a683c5b 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c @@ -3230,9 +3230,9 @@ void dump_edid_reg(void) for (i = 0; i < 16; i++) { rx_pr("[%2d] ", i); for (j = 0; j < 16; j++) { - rx_pr("0x%02lx, ", - hdmirx_rd_top(TOP_EDID_OFFSET + - (i * 16 + j))); + rx_pr("0x%02x, ", + hdmirx_rd_top(TOP_EDID_OFFSET + + (i * 16 + j))); } rx_pr("\n"); } @@ -3240,9 +3240,9 @@ void dump_edid_reg(void) for (i = 0; i < 16; i++) { rx_pr("[%2d] ", i); for (j = 0; j < 16; j++) { - rx_pr("0x%02lx, ", - hdmirx_rd_top(TOP_EDID_ADDR_S + - (i * 16 + j))); + rx_pr("0x%02x, ", + hdmirx_rd_top(TOP_EDID_ADDR_S + + (i * 16 + j))); } rx_pr("\n"); } @@ -3250,27 +3250,27 @@ void dump_edid_reg(void) for (i = 0; i < 16; i++) { rx_pr("[%2d] ", i); for (j = 0; j < 16; j++) { - rx_pr("0x%02lx, ", - hdmirx_rd_top(TOP_EDID_ADDR_S + - (i * 16 + j))); + rx_pr("0x%02x, ", + hdmirx_rd_top(TOP_EDID_ADDR_S + + (i * 16 + j))); } rx_pr("\n"); } for (i = 0; i < 16; i++) { rx_pr("[%2d] ", i); for (j = 0; j < 16; j++) { - rx_pr("0x%02lx, ", - hdmirx_rd_top(TOP_EDID_PORT2_ADDR_S + - (i * 16 + j))); + rx_pr("0x%02x, ", + hdmirx_rd_top(TOP_EDID_PORT2_ADDR_S + + (i * 16 + j))); } rx_pr("\n"); } for (i = 0; i < 16; i++) { rx_pr("[%2d] ", i); for (j = 0; j < 16; j++) { - rx_pr("0x%02lx, ", - hdmirx_rd_top(TOP_EDID_PORT3_ADDR_S + - (i * 16 + j))); + rx_pr("0x%02x, ", + hdmirx_rd_top(TOP_EDID_PORT3_ADDR_S + + (i * 16 + j))); } rx_pr("\n"); } @@ -4240,9 +4240,9 @@ void rx_emp_field_done_irq(void) recv_pagenum = (recv_byte_cnt >> PAGE_SHIFT) + 1; if (rx.empbuff.irqcnt & 0x1) - dts_addr = rx.empbuff.storeB; + dts_addr = rx.empbuff.store_b; else - dts_addr = rx.empbuff.storeA; + dts_addr = rx.empbuff.store_a; if (recv_pkt_cnt >= EMP_BUFF_MAX_PKT_CNT) { recv_pkt_cnt = EMP_BUFF_MAX_PKT_CNT - 1; @@ -4299,11 +4299,11 @@ void rx_emp_field_done_irq(void) void rx_emp_status(void) { - rx_pr("p_addr_a=0x%x\n", rx.empbuff.p_addr_a); - rx_pr("p_addr_b=0x%x\n", rx.empbuff.p_addr_b); - rx_pr("storeA=0x%x\n", rx.empbuff.storeB); - rx_pr("storeB=0x%x\n", rx.empbuff.storeB); - rx_pr("irq cnt =0x%x\n", rx.empbuff.irqcnt); + rx_pr("p_addr_a=0x%p\n", (void *)rx.empbuff.p_addr_a); + rx_pr("p_addr_b=0x%p\n", (void *)rx.empbuff.p_addr_b); + rx_pr("store_a=0x%p\n", rx.empbuff.store_a); + rx_pr("store_b=0x%p\n", rx.empbuff.store_b); + rx_pr("irq cnt =0x%x\n", (unsigned int)rx.empbuff.irqcnt); rx_pr("ready=0x%p\n", rx.empbuff.ready); rx_pr("dump_mode =0x%x\n", rx.empbuff.dump_mode); rx_pr("recv tmp pkt cnt=0x%x\n", rx.empbuff.emppktcnt); @@ -4347,7 +4347,8 @@ void rx_tmds_to_ddr_init(void) rx.empbuff.p_addr_a); hdmirx_wr_top(TOP_EMP_DDR_START_B, rx.empbuff.p_addr_a); - rx_pr("cfg hw addr=0x%x\n", rx.empbuff.p_addr_a); + rx_pr("cfg hw addr=0x%p\n", + (void *)rx.empbuff.p_addr_a); } /* max pkt count to avoid buffer overflow */ diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_pktinfo.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_pktinfo.c index fd8566d31a07..772a2428130c 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_pktinfo.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_pktinfo.c @@ -127,44 +127,44 @@ void rx_pkt_debug(void) { uint32_t data32; - rx_pr("\npktinfo size=%d\n", sizeof(union pktinfo)); - rx_pr("infoframe_st size=%d\n", sizeof(union infoframe_u)); - rx_pr("fifo_rawdata_st size=%d\n", sizeof(struct fifo_rawdata_st)); - rx_pr("vsi_infoframe_st size=%d\n", sizeof(struct vsi_infoframe_st)); - rx_pr("avi_infoframe_st size=%d\n", sizeof(struct avi_infoframe_st)); - rx_pr("spd_infoframe_st size=%d\n", sizeof(struct spd_infoframe_st)); - rx_pr("aud_infoframe_st size=%d\n", sizeof(struct aud_infoframe_st)); - rx_pr("ms_infoframe_st size=%d\n", sizeof(struct ms_infoframe_st)); - rx_pr("vbi_infoframe_st size=%d\n", sizeof(struct vbi_infoframe_st)); - rx_pr("drm_infoframe_st size=%d\n", sizeof(struct drm_infoframe_st)); + rx_pr("\npktinfo size=%lu\n", sizeof(union pktinfo)); + rx_pr("infoframe_st size=%lu\n", sizeof(union infoframe_u)); + rx_pr("fifo_rawdata_st size=%lu\n", sizeof(struct fifo_rawdata_st)); + rx_pr("vsi_infoframe_st size=%lu\n", sizeof(struct vsi_infoframe_st)); + rx_pr("avi_infoframe_st size=%lu\n", sizeof(struct avi_infoframe_st)); + rx_pr("spd_infoframe_st size=%lu\n", sizeof(struct spd_infoframe_st)); + rx_pr("aud_infoframe_st size=%lu\n", sizeof(struct aud_infoframe_st)); + rx_pr("ms_infoframe_st size=%lu\n", sizeof(struct ms_infoframe_st)); + rx_pr("vbi_infoframe_st size=%lu\n", sizeof(struct vbi_infoframe_st)); + rx_pr("drm_infoframe_st size=%lu\n", sizeof(struct drm_infoframe_st)); - rx_pr("acr_pkt_st size=%d\n", - sizeof(struct acr_pkt_st)); - rx_pr("aud_sample_pkt_st size=%d\n", - sizeof(struct aud_sample_pkt_st)); - rx_pr("gcp_pkt_st size=%d\n", sizeof(struct gcp_pkt_st)); - rx_pr("acp_pkt_st size=%d\n", sizeof(struct acp_pkt_st)); - rx_pr("isrc_pkt_st size=%d\n", sizeof(struct isrc_pkt_st)); - rx_pr("onebit_aud_pkt_st size=%d\n", - sizeof(struct obasmp_pkt_st)); - rx_pr("dst_aud_pkt_st size=%d\n", - sizeof(struct dstaud_pkt_st)); - rx_pr("hbr_aud_pkt_st size=%d\n", - sizeof(struct hbraud_pkt_st)); - rx_pr("gamut_Meta_pkt_st size=%d\n", - sizeof(struct gamutmeta_pkt_st)); - rx_pr("aud_3d_smppkt_st size=%d\n", - sizeof(struct a3dsmp_pkt_st)); - rx_pr("oneb3d_smppkt_st size=%d\n", - sizeof(struct ob3d_smppkt_st)); - rx_pr("aud_mtdata_pkt_st size=%d\n", - sizeof(struct audmtdata_pkt_st)); - rx_pr("mulstr_audsamp_pkt_st size=%d\n", - sizeof(struct msaudsmp_pkt_st)); - rx_pr("onebmtstr_smaud_pkt_st size=%d\n", - sizeof(struct obmaudsmp_pkt_st)); - rx_pr("emp size=%d\n", - sizeof(struct emp_pkt_st)); + rx_pr("acr_pkt_st size=%lu\n", + sizeof(struct acr_pkt_st)); + rx_pr("aud_sample_pkt_st size=%lu\n", + sizeof(struct aud_sample_pkt_st)); + rx_pr("gcp_pkt_st size=%lu\n", sizeof(struct gcp_pkt_st)); + rx_pr("acp_pkt_st size=%lu\n", sizeof(struct acp_pkt_st)); + rx_pr("isrc_pkt_st size=%lu\n", sizeof(struct isrc_pkt_st)); + rx_pr("onebit_aud_pkt_st size=%lu\n", + sizeof(struct obasmp_pkt_st)); + rx_pr("dst_aud_pkt_st size=%lu\n", + sizeof(struct dstaud_pkt_st)); + rx_pr("hbr_aud_pkt_st size=%lu\n", + sizeof(struct hbraud_pkt_st)); + rx_pr("gamut_Meta_pkt_st size=%lu\n", + sizeof(struct gamutmeta_pkt_st)); + rx_pr("aud_3d_smppkt_st size=%lu\n", + sizeof(struct a3dsmp_pkt_st)); + rx_pr("oneb3d_smppkt_st size=%lu\n", + sizeof(struct ob3d_smppkt_st)); + rx_pr("aud_mtdata_pkt_st size=%lu\n", + sizeof(struct audmtdata_pkt_st)); + rx_pr("mulstr_audsamp_pkt_st size=%lu\n", + sizeof(struct msaudsmp_pkt_st)); + rx_pr("onebmtstr_smaud_pkt_st size=%lu\n", + sizeof(struct obmaudsmp_pkt_st)); + rx_pr("emp size=%lu\n", + sizeof(struct emp_pkt_st)); memset(&rxpktsts, 0, sizeof(struct rxpkt_st)); data32 = hdmirx_rd_dwc(DWC_PDEC_CTRL); @@ -201,105 +201,105 @@ void rx_get_pd_fifo_param(enum pkt_type_e pkt_type, case PKT_TYPE_INFOFRAME_VSI: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.vs_info; */ - memcpy(&pkt_info, &rx_pkt.vs_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.vs_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_vsi_ex(&pkt_info); break; case PKT_TYPE_INFOFRAME_AVI: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.avi_info; */ - memcpy(&pkt_info, &rx_pkt.avi_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.avi_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_avi_ex(&pkt_info); break; case PKT_TYPE_INFOFRAME_SPD: /* srcbuff = &rx.spd_info; */ - memcpy(&pkt_info, &rx_pkt.spd_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.spd_info, + sizeof(struct pd_infoframe_s)); break; case PKT_TYPE_INFOFRAME_AUD: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.aud_pktinfo; */ - memcpy(&pkt_info, &rx_pkt.aud_pktinfo, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.aud_pktinfo, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_audif_ex(&pkt_info); break; case PKT_TYPE_INFOFRAME_MPEGSRC: /* srcbuff = &rx.mpegs_info; */ - memcpy(&pkt_info, &rx_pkt.mpegs_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.mpegs_info, + sizeof(struct pd_infoframe_s)); break; case PKT_TYPE_INFOFRAME_NVBI: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.ntscvbi_info; */ - memcpy(&pkt_info, &rx_pkt.ntscvbi_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.ntscvbi_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_ntscvbi_ex(&pkt_info); break; case PKT_TYPE_INFOFRAME_DRM: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.drm_info; */ - memcpy(&pkt_info, &rx_pkt.drm_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.drm_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_drm_ex(&pkt_info); break; case PKT_TYPE_ACR: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.acr_info; */ - memcpy(&pkt_info, &rx_pkt.acr_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.acr_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_acr_ex(&pkt_info); break; case PKT_TYPE_GCP: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.gcp_info; */ - memcpy(&pkt_info, &rx_pkt.gcp_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.gcp_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_gcp_ex(&pkt_info); break; case PKT_TYPE_ACP: /* srcbuff = &rx.acp_info; */ - memcpy(&pkt_info, &rx_pkt.acp_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.acp_info, + sizeof(struct pd_infoframe_s)); break; case PKT_TYPE_ISRC1: /* srcbuff = &rx.isrc1_info; */ - memcpy(&pkt_info, &rx_pkt.isrc1_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.isrc1_info, + sizeof(struct pd_infoframe_s)); break; case PKT_TYPE_ISRC2: /* srcbuff = &rx.isrc2_info; */ - memcpy(&pkt_info, &rx_pkt.isrc2_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.isrc2_info, + sizeof(struct pd_infoframe_s)); break; case PKT_TYPE_GAMUT_META: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.gameta_info; */ - memcpy(&pkt_info, &rx_pkt.gameta_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.gameta_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_gmd_ex(&pkt_info); break; case PKT_TYPE_AUD_META: if (rx_pkt_get_fifo_pri()) /* srcbuff = &rx.amp_info; */ - memcpy(&pkt_info, &rx_pkt.amp_info, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, &rx_pkt.amp_info, + sizeof(struct pd_infoframe_s)); else rx_pkt_get_amp_ex(&pkt_info); break; default: if (pd_fifo_buf != NULL) /* srcbuff = pd_fifo_buf; */ - memcpy(&pkt_info, &pd_fifo_buf, - sizeof(struct pd_infoframe_s)); + memcpy(pkt_info, pd_fifo_buf, + sizeof(struct pd_infoframe_s)); else pr_err("err:pd_fifo_buf is empty\n"); break; diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c index d08e72387830..be71222dfd50 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_repeater.c @@ -350,7 +350,8 @@ bool rx_set_repeat_aksv(unsigned char *data, int len, int depth, if (ksvlist_ready) rx_poll_dwc(DWC_HDCP_RPT_CTRL, FIFO_READY, FIFO_READY, KSV_V_WR_TH); - rx_pr("[RX]write Ready signal!\n", ksvlist_ready); + rx_pr("[RX]write Ready signal! ready:%u\n", + (unsigned int)ksvlist_ready); return true; } diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c index 4209de69f0f0..c22a9b6b9f32 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c @@ -2428,7 +2428,7 @@ void rx_main_state_machine(void) rx_audio_pll_sw_update(); } if (log_level & AUDIO_LOG) - rx_pr("update audio-err:%d\n, aud_sts"); + rx_pr("update audio-err:%d\n", aud_sts); rx.aud_sr_unstable_cnt = 0; } } else diff --git a/drivers/amlogic/media/vin/tvin/hdmirx_ext/hdmirx_ext_attrs.c b/drivers/amlogic/media/vin/tvin/hdmirx_ext/hdmirx_ext_attrs.c index bf2db5fbe93a..1de8de865362 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx_ext/hdmirx_ext_attrs.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx_ext/hdmirx_ext_attrs.c @@ -220,9 +220,10 @@ static ssize_t hdmirx_ext_video_mode_show(struct device *dev, mode_str = __plat_get_video_mode_name(mode); if (strcmp(mode_str, "invalid") != 0) { - if (strlen(mode_str) < - (sizeof(hdmi_mode_str) - strlen(hdmi_mode_str))) - strcat(hdmi_mode_str, mode_str); + if (strlen(mode_str) < sizeof(hdmi_mode_str)) + if (strlen(mode_str) < + (sizeof(hdmi_mode_str) - strlen(hdmi_mode_str))) + strcat(hdmi_mode_str, mode_str); } else { if (strlen(mode_str) < sizeof(hdmi_mode_str)) strcpy(hdmi_mode_str, mode_str);