Re: [PATCH 3/9] staging: media: atomisp: improve unwinding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 10/6/23 12:08, Hans Verkuil wrote:
> This fixes two smatch warnings:
> 
> drivers/staging/media/atomisp/pci/atomisp_cmd.c:2779 atomisp_cp_dvs_6axis_config() warn: missing unwind goto?
> drivers/staging/media/atomisp/pci/atomisp_cmd.c:2878 atomisp_cp_morph_table() warn: missing unwind goto?
> 
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> CC: Hans de Goede <hdegoede@xxxxxxxxxx>
> ---
>  .../staging/media/atomisp/pci/atomisp_cmd.c    | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_cmd.c b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
> index a54be2d20c58..759233a7ba50 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp_cmd.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
> @@ -2771,12 +2771,16 @@ int atomisp_cp_dvs_6axis_config(struct atomisp_sub_device *asd,
>  			css_param->dvs_6axis = NULL;
>  
>  			dvs_6axis_config = ia_css_dvs2_6axis_config_allocate(stream);
> -			if (!dvs_6axis_config)
> -				return -ENOMEM;
> +			if (!dvs_6axis_config) {
> +				ret = -ENOMEM;
> +				goto error;
> +			}
>  		} else if (!dvs_6axis_config) {
>  			dvs_6axis_config = ia_css_dvs2_6axis_config_allocate(stream);
> -			if (!dvs_6axis_config)
> -				return -ENOMEM;
> +			if (!dvs_6axis_config) {
> +				ret = -ENOMEM;
> +				goto error;
> +			}
>  		}
>  
>  		dvs_6axis_config->exp_id = source_6axis_config->exp_id;
> @@ -2874,8 +2878,10 @@ int atomisp_cp_morph_table(struct atomisp_sub_device *asd,
>  		morph_table = atomisp_css_morph_table_allocate(
>  				source_morph_table->width,
>  				source_morph_table->height);
> -		if (!morph_table)
> -			return -ENOMEM;
> +		if (!morph_table) {
> +			ret = -ENOMEM;
> +			goto error;
> +		}
>  
>  		for (i = 0; i < IA_CSS_MORPH_TABLE_NUM_PLANES; i++) {
>  			if (copy_from_compatible(morph_table->coordinates_x[i],

There are 2 : "morph_table = atomisp_css_morph_table_allocate(...)"
statements in this function in both branches of the
if (IS_ISP2401) { ... } else { ... } block, shouldn't both cases
get the goto error treatment ?

Otherwise this looks good to me:

Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Regards,

Hans




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux