[PATCH 3/6] media: staging: atomisp: Remove useless "ifndef ISP2401"
In atomisp_csi2_set_ffmt(), there is no reason to have "#ifndef ISP2401" condition since code is identical in ifndef and else sections. Hence remove redudent checks. Signed-off-by: Pankaj Bharadiya --- drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c | 8 1 file changed, 8 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c index fa03b78..606ebdb 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c @@ -90,11 +90,7 @@ int atomisp_csi2_set_ffmt(struct v4l2_subdev *sd, { struct atomisp_mipi_csi2_device *csi2 = v4l2_get_subdevdata(sd); struct v4l2_mbus_framefmt *actual_ffmt = -#ifndef ISP2401 __csi2_get_format(csi2, cfg, which, pad); -#else - __csi2_get_format(csi2, cfg, which, pad); -#endif if (pad == CSI2_PAD_SINK) { const struct atomisp_in_fmt_conv *ic; @@ -121,11 +117,7 @@ int atomisp_csi2_set_ffmt(struct v4l2_subdev *sd, /* FIXME: DPCM decompression */ *actual_ffmt = *ffmt = -#ifndef ISP2401 *__csi2_get_format(csi2, cfg, which, CSI2_PAD_SINK); -#else - *__csi2_get_format(csi2, cfg, which, CSI2_PAD_SINK); -#endif return 0; } -- 2.7.4
[PATCH 1/6] media: staging: atomisp: remove redundent check
Assignment asd = &isp->asd[i] can never be null hence remove redundent check. Signed-off-by: Pankaj Bharadiya --- drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c index f668c68..7a9f3c9 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c @@ -4592,8 +4592,6 @@ int atomisp_css_isr_thread(struct atomisp_device *isp, * delete wdt timer. */ for (i = 0; i < isp->num_of_streams; i++) { asd = &isp->asd[i]; - if (!asd) - continue; if (asd->streaming != ATOMISP_DEVICE_STREAMING_ENABLED) continue; if (!atomisp_buffers_queued(asd)) -- 2.7.4
[PATCH 6/6] media: staging: atomisp: Fix potential NULL pointer dereference
In verify_copy_out_frame_format(), "pipe" is being dereferenced before it is null checked. Fix it by moving the "pipe" pointer dereference after it has been properly null checked. Signed-off-by: Pankaj Bharadiya --- drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c index eb84d51..487e768 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c @@ -455,12 +455,14 @@ static enum ia_css_frame_format yuv422_copy_formats[] = { static enum ia_css_err verify_copy_out_frame_format(struct ia_css_pipe *pipe) { - enum ia_css_frame_format out_fmt = pipe->output_info[0].format; + enum ia_css_frame_format out_fmt; unsigned int i, found = 0; assert(pipe != NULL); assert(pipe->stream != NULL); + out_fmt = pipe->output_info[0].format; + switch (pipe->stream->config.input_config.format) { case ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY: case ATOMISP_INPUT_FORMAT_YUV420_8: -- 2.7.4
[PATCH 2/6] media: staging: atomisp: Remove useless if statement
Local variable "requeue" is assigned only once to a constant "false" value so "if(requeue)" condition will never be true. Thus remove it. Signed-off-by: Pankaj Bharadiya --- drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c | 14 -- 1 file changed, 14 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c index fa6ea50..c8c4d1d 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c @@ -883,7 +883,6 @@ void atomisp_buf_done(struct atomisp_sub_device *asd, int error, struct videobuf_buffer *vb = NULL; struct atomisp_video_pipe *pipe = NULL; struct atomisp_css_buffer buffer; - bool requeue = false; int err; unsigned long irqflags; struct atomisp_css_frame *frame = NULL; @@ -1223,19 +1222,6 @@ void atomisp_buf_done(struct atomisp_sub_device *asd, int error, #ifdef ISP2401 atomic_set(&pipe->wdt_count, 0); #endif - /* -* Requeue should only be done for 3a and dis buffers. -* Queue/dequeue order will change if driver recycles image buffers. -*/ - if (requeue) { - err = atomisp_css_queue_buffer(asd, - stream_id, css_pipe_id, - buf_type, &buffer); - if (err) - dev_err(isp->dev, "%s, q to css fails: %d\n", - __func__, err); - return; - } if (!error && q_buffers) atomisp_qbuffers_to_css(asd); #ifdef ISP2401 -- 2.7.4
[PATCH 4/6] media: staging: atomisp: Fix potential NULL pointer dereference
In ia_css_pipe_get_primary_binarydesc(), "pipe" is being dereferenced before it is null checked. Fix it by moving the "pipe" pointer dereference after it has been properly null checked. Signed-off-by: Pankaj Bharadiya --- .../atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c index 98a2a3e..ca86157 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c @@ -554,7 +554,7 @@ void ia_css_pipe_get_primary_binarydesc( struct ia_css_frame_info *vf_info, unsigned int stage_idx) { - enum ia_css_pipe_version pipe_version = pipe->config.isp_pipe_version; + enum ia_css_pipe_version pipe_version; int mode; unsigned int i; struct ia_css_frame_info *out_infos[IA_CSS_BINARY_MAX_OUTPUT_PORTS]; @@ -567,6 +567,7 @@ void ia_css_pipe_get_primary_binarydesc( /*assert(vf_info != NULL);*/ IA_CSS_ENTER_PRIVATE(""); + pipe_version = pipe->config.isp_pipe_version; if (pipe_version == IA_CSS_PIPE_VERSION_2_6_1) mode = primary_hq_binary_modes[stage_idx]; else -- 2.7.4
[PATCH 5/6] media: staging: atomisp: Fix potential NULL pointer dereference
In sh_css_config_input_network(), "stream" is being dereferenced before it is null checked. Fix it by moving the "stream" pointer dereference after it has been properly null checked. Signed-off-by: Pankaj Bharadiya --- drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c index c771e4b..eb84d51 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c @@ -529,11 +529,12 @@ static enum ia_css_err sh_css_config_input_network(struct ia_css_stream *stream) { unsigned int fmt_type; - struct ia_css_pipe *pipe = stream->last_pipe; + struct ia_css_pipe *pipe; struct ia_css_binary *binary = NULL; enum ia_css_err err = IA_CSS_SUCCESS; assert(stream != NULL); + pipe = stream->last_pipe; assert(pipe != NULL); ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, -- 2.7.4
[PATCH 0/6] Fix issues reported by static analysis tool.
This patch series fixes some of the issues reported by static analysis tool. Pankaj Bharadiya (6): media: staging: atomisp: remove redundent check media: staging: atomisp: Remove useless if statement media: staging: atomisp: Remove useless "ifndef ISP2401" media: staging: atomisp: Fix potential NULL pointer dereference media: staging: atomisp: Fix potential NULL pointer dereference media: staging: atomisp: Fix potential NULL pointer dereference drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c | 14 -- .../media/atomisp/pci/atomisp2/atomisp_compat_css20.c | 2 -- drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c | 8 .../pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c | 3 ++- .../staging/media/atomisp/pci/atomisp2/css2400/sh_css.c| 7 +-- 5 files changed, 7 insertions(+), 27 deletions(-) -- 2.7.4