media: cx2341x: Check return value of cx2341x_api()

Message ID 20240211150644.3642-1-d.dulov@aladdin.ru
State New
Headers
Series media: cx2341x: Check return value of cx2341x_api() |

Commit Message

Daniil Dulov Feb. 11, 2024, 3:06 p.m. UTC
  cx2341x_api() may return an error, so add a check.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 45ad9f8b44b0 ("V4L/DVB (4202): allow selecting CX2341x port mode")
Signed-off-by: Daniil Dulov <d.dulov@aladdin.ru>
---
 drivers/media/common/cx2341x.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Comments

Hans Verkuil Feb. 12, 2024, 3:20 p.m. UTC | #1
On 11/02/2024 16:06, Daniil Dulov wrote:
> cx2341x_api() may return an error, so add a check.
> 
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
> 
> Fixes: 45ad9f8b44b0 ("V4L/DVB (4202): allow selecting CX2341x port mode")
> Signed-off-by: Daniil Dulov <d.dulov@aladdin.ru>
> ---
>  drivers/media/common/cx2341x.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/common/cx2341x.c b/drivers/media/common/cx2341x.c
> index 1f67e021138f..fa888d7c3988 100644
> --- a/drivers/media/common/cx2341x.c
> +++ b/drivers/media/common/cx2341x.c
> @@ -1035,7 +1035,10 @@ int cx2341x_update(void *priv, cx2341x_mbox_func func,
>  	};
>  	int err;
>  
> -	cx2341x_api(priv, func, CX2341X_ENC_SET_OUTPUT_PORT, 2, new->port, 0);
> +	err = cx2341x_api(priv, func, CX2341X_ENC_SET_OUTPUT_PORT, 2, new->port, 0);
> +
> +    if (err)
> +	    return err;

Indentation is all over the place, please fix!

Regards,

	Hans

>  
>  	if (!old ||
>  	    CMP_FIELD(old, new, is_50hz)) {
  

Patch

diff --git a/drivers/media/common/cx2341x.c b/drivers/media/common/cx2341x.c
index 1f67e021138f..fa888d7c3988 100644
--- a/drivers/media/common/cx2341x.c
+++ b/drivers/media/common/cx2341x.c
@@ -1035,7 +1035,10 @@  int cx2341x_update(void *priv, cx2341x_mbox_func func,
 	};
 	int err;
 
-	cx2341x_api(priv, func, CX2341X_ENC_SET_OUTPUT_PORT, 2, new->port, 0);
+	err = cx2341x_api(priv, func, CX2341X_ENC_SET_OUTPUT_PORT, 2, new->port, 0);
+
+    if (err)
+	    return err;
 
 	if (!old ||
 	    CMP_FIELD(old, new, is_50hz)) {