Re: [PATCH 1/2] staging: media: atomisp: return early on hmm_bo_device_init() failure

From: Hans de Goede
Date: Mon Jul 07 2025 - 10:12:29 EST


Hi Abdelrahman,

On 7-Jul-25 16:09, Abdelrahman Fekry wrote:
> hmm_init() would continue execution even if hmm_bo_device_init() failed,
> potentially leading to bad behaviour when calling hmm_alloc().
>
> - returns the error immediately if hmm_bo_device_init() fails.
>
> Signed-off-by: Abdelrahman Fekry <abdelrahmanfekry375@xxxxxxxxx>
> ---
> drivers/staging/media/atomisp/pci/hmm/hmm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/media/atomisp/pci/hmm/hmm.c
> index f998b57f90c4..c2ee9d2ec0d5 100644
> --- a/drivers/staging/media/atomisp/pci/hmm/hmm.c
> +++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c
> @@ -36,6 +36,7 @@ int hmm_init(void)
> ISP_VM_START, ISP_VM_SIZE);
> if (ret)
> dev_err(atomisp_dev, "hmm_bo_device_init failed.\n");
> + return ret;

You need to add { } here otherwise the "return ret;" will
always get executed since it is not part of the code block
guarded by the if (despite the indentation).

Regards,

Hans



>
> hmm_initialized = true;
>
> @@ -48,7 +49,7 @@ int hmm_init(void)
> */
> dummy_ptr = hmm_alloc(1);
>
> - return ret;
> + return 0;
> }
>
> void hmm_cleanup(void)