Re: [PATCH 05/17] media: atomisp: pci: fix inverted error check for ia_css_mipi_is_source_port_valid()

Dan Carpenter
2021-11-02T11:34:18Z

On Mon, Oct 18, 2021 at 01:19:45AM +0900, Tsuchiya Yuto wrote:
> The function ia_css_mipi_is_source_port_valid() returns true if the port
> is valid. So, we can't use the existing err variable as is.
>
> To fix this issue while reusing that variable, invert the return value
> when assigning it to the variable.
>
> Fixes: 3c0538fbad9f ("media: atomisp: get rid of most checks for ISP2401 version")
> Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com>
> ---
> .../staging/media/atomisp/pci/sh_css_mipi.c | 24 ++++++++++++-------
> 1 file changed, 15 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/staging/media/atomisp/pci/sh_css_mipi.c b/drivers/staging/media/atomisp/pci/sh_css_mipi.c
> index 65fc93c5d56b..c1f2f6151c5f 100644
> --- a/drivers/staging/media/atomisp/pci/sh_css_mipi.c
> +++ b/drivers/staging/media/atomisp/pci/sh_css_mipi.c
> @@ -423,10 +423,12 @@ allocate_mipi_frames(struct ia_css_pipe *pipe,
> return 0; /* AM TODO: Check */
> }
>
> - if (!IS_ISP2401)
> + if (!IS_ISP2401) {
> port = (unsigned int)pipe->stream->config.source.port.port;
> - else
> - err = ia_css_mipi_is_source_port_valid(pipe, &port);
> + } else {
> + /* Returns true if port is valid. So, invert it */
> + err = !ia_css_mipi_is_source_port_valid(pipe, &port);

Don't invert it... This isn't supposed to return 1 on failure it's
supposed to return negative error codes.

> + }
>
> assert(port < N_CSI_PORTS);
>
> @@ -553,10 +555,12 @@ free_mipi_frames(struct ia_css_pipe *pipe)
> return err;
> }
>
> - if (!IS_ISP2401)
> + if (!IS_ISP2401) {
> port = (unsigned int)pipe->stream->config.source.port.port;
> - else
> - err = ia_css_mipi_is_source_port_valid(pipe, &port);
> + } else {
> + /* Returns true if port is valid. So, invert it */
> + err = !ia_css_mipi_is_source_port_valid(pipe, &port);

Presumably the same here?

> + }
>
> assert(port < N_CSI_PORTS);
>
> @@ -665,10 +669,12 @@ send_mipi_frames(struct ia_css_pipe *pipe)
> /* TODO: AM: maybe this should be returning an error. */
> }
>
> - if (!IS_ISP2401)
> + if (!IS_ISP2401) {
> port = (unsigned int)pipe->stream->config.source.port.port;
> - else
> - err = ia_css_mipi_is_source_port_valid(pipe, &port);
> + } else {
> + /* Returns true if port is valid. So, invert it */
> + err = !ia_css_mipi_is_source_port_valid(pipe, &port);

Same?

> + }
>
> assert(port < N_CSI_PORTS);

regards,
dan carpenter