Messages in this thread | | | Date | Mon, 26 Sep 2022 17:14:23 +0800 | Subject | Re: [PATCH -next] pxa: Release platform device in case of platform_device_add() fails. | From | "linyujun (C)" <> |
| |
kindly ping
在 2022/9/14 11:24, Lin Yujun 写道: > The platform device is not released when platform_device_add() > fails. Use platform_device_put() to release these resource. > > Fixes: 49cbe78637eb ("[ARM] pxa: add base support for Marvell's PXA168 processor line") > Signed-off-by: Lin Yujun <linyujun809@huawei.com> > --- > arch/arm/mach-mmp/devices.c | 21 ++++++++++++--------- > 1 file changed, 12 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/mach-mmp/devices.c b/arch/arm/mach-mmp/devices.c > index 79f4a2aa5475..e918f419bc4c 100644 > --- a/arch/arm/mach-mmp/devices.c > +++ b/arch/arm/mach-mmp/devices.c > @@ -53,20 +53,23 @@ int __init mmp_register_device(struct mmp_device_desc *desc, > } > > ret = platform_device_add_resources(pdev, res, nres); > - if (ret) { > - platform_device_put(pdev); > - return ret; > - } > + if (ret) > + goto err_put_pdev; > > if (data && size) { > ret = platform_device_add_data(pdev, data, size); > - if (ret) { > - platform_device_put(pdev); > - return ret; > - } > + if (ret) > + goto err_put_pdev; > } > > - return platform_device_add(pdev); > + ret = platform_device_add(pdev); > + if (ret) > + goto err_put_pdev; > + return ret; > + > +err_put_pdev: > + platform_device_put(pdev); > + return ret; > } > > #if IS_ENABLED(CONFIG_USB) || IS_ENABLED(CONFIG_USB_GADGET)
| |