tvin: coverity fix

PD#168718: tvin: coverity fix

Change-Id: I196de9ae44fc443f5cb7050fad92bea9cd138c8a
Signed-off-by: xuhua zhang <xuhua.zhang@amlogic.com>
This commit is contained in:
xuhua zhang
2018-06-20 11:35:24 +08:00
committed by Yixun Lan
parent f559e41f2a
commit 3a97fb42ca
13 changed files with 70 additions and 52 deletions

View File

@@ -219,10 +219,14 @@ 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)
strcat(hdmi_mode_str, mode_str);
else
strcpy(hdmi_mode_str, mode_str);
if (strcmp(mode_str, "invalid") != 0) {
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);
}
return sprintf(buf, "%s\n", hdmi_mode_str);
}
@@ -268,7 +272,8 @@ static ssize_t hdmirx_ext_audio_sr_show(struct device *dev,
};
audio_sr = __hw_get_audio_sample_rate();
if ((audio_sr < 0) || (audio_sr > sizeof(audio_sr_array)))
if ((audio_sr < 0) ||
(audio_sr >= (sizeof(audio_sr_array)/sizeof(char *))))
audio_sr = 0;
return sprintf(buf, "%s\n", audio_sr_array[audio_sr]);

View File

@@ -193,7 +193,10 @@ int __hw_enable(void)
{
struct hdmirx_ext_drv_s *hdrv = hdmirx_ext_get_driver();
if ((hdrv) && (hdrv->hw.enable))
if (!hdrv)
return -1;
if (hdrv->hw.enable)
return hdrv->hw.enable();
hdrv->state = 1;
@@ -206,8 +209,12 @@ void __hw_disable(void)
{
struct hdmirx_ext_drv_s *hdrv = hdmirx_ext_get_driver();
if (!hdrv)
return;
hdrv->state = 0;
if ((hdrv) && (hdrv->hw.disable))
if (hdrv->hw.disable)
hdrv->hw.disable();
}

View File

@@ -276,17 +276,17 @@ static void SetAVI_Info(struct AVIType_s *AVI, BYTE *Data)
bAVI = Data[IF_HEADER_LENGTH] & ColorSpaceMask;
if (bAVI == RGB)
AVI->bInputColorSpace = SiI_RX_ICP_RGB;
else if (bAVI == YCbCr422)
else if (bAVI == (BYTE)YCbCr422)
AVI->bInputColorSpace = SiI_RX_ICP_YCbCr422;
else if (bAVI == YCbCr444)
else if (bAVI == (BYTE)YCbCr444)
AVI->bInputColorSpace = SiI_RX_ICP_YCbCr444;
bAVI = Data[IF_HEADER_LENGTH + 1] & ColorimetryMask;
if (bAVI == NoInfo)
AVI->bColorimetry = SiI_RX_ColorimetryNoInfo;
else if (bAVI == ITU601)
else if (bAVI == (BYTE)ITU601)
AVI->bColorimetry = SiI_RX_ITU_601;
else if (bAVI == ITU709)
else if (bAVI == (BYTE)ITU709)
AVI->bColorimetry = SiI_RX_ITU_709;
AVI->bPixRepl = Data[IF_HEADER_LENGTH + 4] & PixReplicationMask;

View File

@@ -51,7 +51,7 @@ BYTE siiGetPCB_Id(void)
*/
void InitEEPROMWithDefaults(void)
{
BYTE abData[6];
BYTE abData[7];
abData[0] = RX_API_ID_L;
abData[1] = RX_API_ID_H;
@@ -182,7 +182,7 @@ static void PrintIntilizeSystemWith(BYTE *pbInitData)
*/
static BYTE siiRXAPIConfig(void)
{
BYTE abData[6];
BYTE abData[8];
BYTE bError;
WORD wDevId;

View File

@@ -94,7 +94,7 @@ void siiBlockWriteEEPROM(WORD Addr, BYTE NBytes, BYTE *Data)
hlBlockWrite_8BAS((struct I2CShortCommandType_s *)&I2CComm, Data);
#endif
hlWaitForAck(bEEPROMSlaveAddr, 100);
/*hlWaitForAck(bEEPROMSlaveAddr, 100);*/
}
/*----------------------------------------------------------------------*/

View File

@@ -449,7 +449,7 @@ static void tvafe_avin_detect_state(struct tvafe_avin_det_s *avdev)
static void tvafe_avin_detect_parse_param(char *buf_orig, char **parm)
{
char *ps, *token;
char delim1[2] = " ";
char delim1[3] = " ";
char delim2[2] = "\n";
unsigned int n = 0;

View File

@@ -392,7 +392,7 @@ static void tvafe_cvd2_write_mode_reg(struct tvafe_cvd2_s *cvd2,
}
} else{
} else {
for (i = 0; i < (ACD_REG_NUM+1); i++) {
@@ -462,7 +462,7 @@ static void tvafe_cvd2_write_mode_reg(struct tvafe_cvd2_s *cvd2,
ADAPTIVE_CHROMA_MODE_BIT, ADAPTIVE_CHROMA_MODE_WID);
W_APB_BIT(CVD2_CONTROL1, 0, CHROMA_BW_LO_BIT, CHROMA_BW_LO_WID);
} else{
} else {
W_APB_REG(CVD2_VSYNC_NO_SIGNAL_THRESHOLD, 0xf0);
if (cvd2->config_fmt == TVIN_SIG_FMT_CVBS_PAL_I)
/*add for chroma state adjust dynamicly*/
@@ -642,7 +642,7 @@ static void tvafe_cvd2_non_std_config(struct tvafe_cvd2_s *cvd2)
/* vsync signal is not good */
W_APB_REG(CVD2_NOISE_THRESHOLD, 0x00);
} else{
} else {
if (scene_colorful)
W_APB_REG(CVD2_VSYNC_CNTL, 0x02);
@@ -654,7 +654,7 @@ static void tvafe_cvd2_non_std_config(struct tvafe_cvd2_s *cvd2)
}
#endif
} else{
} else {
if (cvd_nonstd_dbg_en)
tvafe_pr_info("%s: out of non-std signal.\n",
__func__);
@@ -700,7 +700,7 @@ static void tvafe_cvd2_non_std_config(struct tvafe_cvd2_s *cvd2)
W_APB_BIT(CVD2_ACTIVE_VIDEO_VHEIGHT, 0xc0,
VACTIVE_HEIGHT_BIT, VACTIVE_HEIGHT_WID);
} else{
} else {
W_APB_BIT(CVD2_VSYNC_SIGNAL_THRESHOLD, 0,
VS_SIGNAL_AUTO_TH_BIT, VS_SIGNAL_AUTO_TH_WID);
@@ -1226,7 +1226,7 @@ static void tvafe_cvd2_non_std_signal_det(
cvd2->info.non_std_enable = 1;
} else{
} else {
cvd2->info.non_std_enable = 0;
}
@@ -1248,7 +1248,7 @@ static bool tvafe_cvd2_sig_unstable(struct tvafe_cvd2_s *cvd2)
if (cvd2->hw.no_sig)/* || !cvd2->hw.h_lock) */
ret = true;
} else{
} else {
if (cvd2->hw.no_sig || !cvd2->hw.h_lock || !cvd2->hw.v_lock)
ret = true;
@@ -1381,7 +1381,7 @@ static bool tvafe_cvd2_condition_shift(struct tvafe_cvd2_s *cvd2)
__func__);
}
} else{
} else {
if (R_APB_BIT(CVD2_CHROMA_DTO_INCREMENT_23_16,
CDTO_INC_23_16_BIT, CDTO_INC_23_16_WID) !=
@@ -1738,7 +1738,7 @@ static void tvafe_cvd2_search_video_mode(struct tvafe_cvd2_s *cvd2,
/* line525 + 358 =>*/
/*confirm NTSC_M */
cvd2->info.state = TVAFE_CVD2_STATE_FIND;
} else{
} else {
if (cvd_dbg_en)
tvafe_pr_info("%s dismatch ntsc m line625 %d, fsc358 %d,pal %d",
__func__, cvd2->hw.line625,
@@ -2017,7 +2017,7 @@ inline bool tvafe_cvd2_no_sig(struct tvafe_cvd2_s *cvd2,
ret = true;
tvafe_cvd2_reinit(cvd2);
} else{
} else {
ret = false;
cvd2->cvd2_init_en = false;
#ifdef TVAFE_CVD2_AUTO_DE_ENABLE
@@ -2135,7 +2135,7 @@ inline void tvafe_cvd2_adj_pga(struct tvafe_cvd2_s *cvd2)
pga += step;
if (pga >= 255) /* set max value */
pga = 255;
} else{
} else {
if (pga < step) /* set min value */
pga = 0;
else

View File

@@ -178,7 +178,7 @@ static void tvafe_state(struct tvafe_dev_s *devp)
static void tvafe_parse_param(char *buf_orig, char **parm)
{
char *ps, *token;
char delim1[2] = " ";
char delim1[3] = " ";
char delim2[2] = "\n";
unsigned int n = 0;
@@ -355,7 +355,7 @@ static ssize_t tvafe_dumpmem_store(struct device *dev,
char *buf_orig, *ps, *token;
char *parm[6] = {NULL};
struct tvafe_dev_s *devp;
char delim1[2] = " ";
char delim1[3] = " ";
char delim2[2] = "\n";
strcat(delim1, delim2);
@@ -372,7 +372,7 @@ static ssize_t tvafe_dumpmem_store(struct device *dev,
if (*token == '\0')
continue;
parm[n++] = token;
}
}
if (!strncmp(parm[0], "dumpmem", strlen("dumpmem"))) {
if (parm[1] != NULL) {
struct file *filp = NULL;

View File

@@ -348,7 +348,8 @@ static int vbi_buffer_write(struct vbi_ringbuffer_s *buf,
tvafe_pr_info("%s: buffer len is zero\n", __func__);
return 0;
}
if (!buf->data) {
if ((buf == NULL) || (buf->data == NULL)) {
if (capture_print_en)
tvafe_pr_info("%s: buffer data pointer is zero\n",
__func__);
@@ -465,9 +466,6 @@ unsigned char *search_table(unsigned char *table_start_addr,
tvafe_pr_info("search_table add err: start=%p,search=%p,end=%p\n",
table_start_addr, search_point, table_end_addr);
return NULL;
} else if (search_size > VBI_BUFF2_SIZE) {
tvafe_pr_info("search_size out of range\n");
return NULL;
}
while (count++ < table_size) {
@@ -834,7 +832,7 @@ void vbi_ringbuffer_reset(struct vbi_ringbuffer_s *rbuf)
}
static int vbi_set_buffer_size(struct vbi_dev_s *dev,
unsigned long size)
unsigned int size)
{
struct vbi_slicer_s *vbi_slicer = dev->slicer;
struct vbi_ringbuffer_s *buf = &vbi_slicer->buffer;
@@ -960,7 +958,7 @@ static ssize_t vbi_buffer_read(struct vbi_ringbuffer_s *src,
ssize_t ret = 0;
ssize_t timeout = 0;
if (!src->data) {
if ((src == NULL) || (src->data == NULL)) {
tvafe_pr_info("%s: data null\n", __func__);
return 0;
}
@@ -1102,7 +1100,7 @@ static long vbi_ioctl(struct file *file,
{
int ret = 0;
void __user *argp = (void __user *)arg;
unsigned long buffer_size_t;
unsigned int buffer_size_t;
struct vbi_dev_s *vbi_dev = file->private_data;
struct vbi_slicer_s *vbi_slicer = vbi_dev->slicer;
@@ -1282,7 +1280,7 @@ static struct resource vbi_memobj;
static void vbi_parse_param(char *buf_orig, char **parm)
{
char *ps, *token;
char delim1[2] = " ";
char delim1[3] = " ";
char delim2[2] = "\n";
unsigned int n = 0;
@@ -1378,13 +1376,17 @@ static ssize_t vbi_store(struct device *dev,
char *buf_orig;
char *parm[6] = {NULL};
struct vbi_dev_s *devp = dev_get_drvdata(dev);
struct vbi_slicer_s *vbi_slicer = devp->slicer;
struct vbi_ringbuffer_s *vbi_buffer = &(vbi_slicer->buffer);
struct vbi_slicer_s *vbi_slicer;
struct vbi_ringbuffer_s *vbi_buffer;
long val;
int ret = 0;
if (!buff || !devp)
return len;
vbi_slicer = devp->slicer;
vbi_buffer = &(vbi_slicer->buffer);
buf_orig = kstrdup(buff, GFP_KERNEL);
vbi_parse_param(buf_orig, (char **)&parm);
if (!strncmp(parm[0], "dumpmem", strlen("dumpmem"))) {
@@ -1450,7 +1452,7 @@ static ssize_t vbi_store(struct device *dev,
} else if (!strncmp(parm[0], "set_size", strlen("set_size"))) {
if (kstrtol(parm[1], 10, &val) < 0)
return -EINVAL;
vbi_set_buffer_size(devp, val);
vbi_set_buffer_size(devp, (unsigned int)val);
tvafe_pr_info(" set buf size to %d\n",
vbi_slicer->buffer.size);
} else if (!strncmp(parm[0], "set_type", strlen("set_type"))) {

View File

@@ -3776,7 +3776,7 @@ int vdin_event_cb(int type, void *data, void *op_arg)
req->low_latency = 0;
if (req->bot_flag)
index = (req->vf->index >> 8) & 0xff;
if (index != 0xff && index >= 0
if (index != 0xff
&& index < p->size
&& p->dv_buf[index]) {
req->aux_buf = p->dv_buf[index];

View File

@@ -76,7 +76,7 @@ static void vdin_set_before_after_mat0(unsigned int offset,
static void vdin_parse_param(char *buf_orig, char **parm)
{
char *ps, *token;
char delim1[2] = " ";
char delim1[3] = " ";
char delim2[2] = "\n";
unsigned int n = 0;
ps = buf_orig;
@@ -1673,7 +1673,7 @@ static ssize_t vdin_cm2_store(struct device *dev,
unsigned int addr_port = VDIN_CHROMA_ADDR_PORT;
unsigned int data_port = VDIN_CHROMA_DATA_PORT;
long val;
char delim1[2] = " ";
char delim1[3] = " ";
char delim2[2] = "\n";
strcat(delim1, delim2);

View File

@@ -1160,7 +1160,7 @@ irqreturn_t vdin_isr(int irq, void *dev_id)
unsigned int stamp = 0;
struct tvin_state_machine_ops_s *sm_ops;
int vdin2nr = 0;
unsigned int offset, vf_drop_cnt;
unsigned int offset = 0, vf_drop_cnt = 0;
enum tvin_trans_fmt trans_fmt;
struct tvin_sig_property_s *prop, *pre_prop;
@@ -1170,6 +1170,15 @@ irqreturn_t vdin_isr(int irq, void *dev_id)
* because the spinlock may affect the system time.
*/
/* avoid null pointer oops */
if (!devp)
return IRQ_HANDLED;
if (!devp->frontend) {
devp->vdin_irq_flag = 1;
goto irq_handled;
}
/* ignore fake irq caused by sw reset*/
if (devp->vdin_reset_flag) {
devp->vdin_reset_flag = 0;
@@ -1177,11 +1186,6 @@ irqreturn_t vdin_isr(int irq, void *dev_id)
}
vf_drop_cnt = vdin_drop_cnt;
/* avoid null pointer oops */
if (!devp || !devp->frontend) {
devp->vdin_irq_flag = 1;
goto irq_handled;
}
offset = devp->addr_offset;
isr_log(devp->vfp);
@@ -1840,7 +1844,7 @@ static int vdin_release(struct inode *inode, struct file *file)
static long vdin_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{
long ret = 0;
int callmaster_status;
int callmaster_status = 0;
struct vdin_dev_s *devp = NULL;
void __user *argp = (void __user *)arg;

View File

@@ -956,7 +956,7 @@ void vdin_vf_disp_mode_update(struct vf_entry *vfe, struct vf_pool *p)
vfe->vf.index_disp = p->disp_index[0];
p->disp_mode[p->disp_index[p->skip_vf_num]] = VFRAME_DISP_MODE_OK;
for (i = p->skip_vf_num - 1; (i >= 0) && (i < VFRAME_DISP_MAX_NUM); i--)
for (i = p->skip_vf_num - 1; i < VFRAME_DISP_MAX_NUM; i--)
p->disp_mode[p->disp_index[i]] = VFRAME_DISP_MODE_UNKNOWN;
}
/*disp mode skip
@@ -968,7 +968,7 @@ void vdin_vf_disp_mode_skip(struct vf_pool *p)
{
unsigned int i;
for (i = p->skip_vf_num - 1; (i >= 0) && (i < VFRAME_DISP_MAX_NUM); i--)
for (i = p->skip_vf_num - 1; i < VFRAME_DISP_MAX_NUM; i--)
p->disp_mode[i] = VFRAME_DISP_MODE_SKIP;
}