lkml.org 
[lkml]   [2022]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/2] firmware: stratix10-svc: fix error handle while alloc/add device failed
From


On 11/3/22 02:09, Yang Yingliang wrote:
> If add device "stratix10-rsu" failed in stratix10_svc_drv_probe(),
> the 'svc_fifo' and 'genpool' need be freed in the error path.
>
> If allocate or add device "intel-fcs" failed in stratix10_svc_drv_probe(),
> the device "stratix10-rsu" need be unregistered in the error path.
>
> Fixes: e6281c26674e ("firmware: stratix10-svc: Add support for FCS")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
> drivers/firmware/stratix10-svc.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/firmware/stratix10-svc.c b/drivers/firmware/stratix10-svc.c
> index 1a5640b3ab42..bde1f543f529 100644
> --- a/drivers/firmware/stratix10-svc.c
> +++ b/drivers/firmware/stratix10-svc.c
> @@ -1202,19 +1202,20 @@ static int stratix10_svc_drv_probe(struct platform_device *pdev)
> ret = platform_device_add(svc->stratix10_svc_rsu);
> if (ret) {
> platform_device_put(svc->stratix10_svc_rsu);
> - return ret;
> + goto err_free_kfifo;
> }
>
> svc->intel_svc_fcs = platform_device_alloc(INTEL_FCS, 1);
> if (!svc->intel_svc_fcs) {
> dev_err(dev, "failed to allocate %s device\n", INTEL_FCS);
> - return -ENOMEM;
> + ret = -ENOMEM;
> + goto err_unregister_dev;
> }
>
> ret = platform_device_add(svc->intel_svc_fcs);
> if (ret) {
> platform_device_put(svc->intel_svc_fcs);
> - return ret;
> + goto err_unregister_dev;
> }
>
> dev_set_drvdata(dev, svc);
> @@ -1223,6 +1224,8 @@ static int stratix10_svc_drv_probe(struct platform_device *pdev)
>
> return 0;
>
> +err_unregister_dev:
> + platform_device_unregister(svc->stratix10_svc_rsu);
> err_free_kfifo:
> kfifo_free(&controller->svc_fifo);
> err_destroy_pool:

Acked-by: Dinh Nguyen <dinguyen@kernel.org>

\
 
 \ /
  Last update: 2022-11-07 20:57    [W:0.046 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site