Add the missing platform_device_unregister() before return from amiga_init_devices() in the error handling case. Signed-off-by: Qinglang Miao <miaoqinglang@xxxxxxxxxx> --- arch/m68k/amiga/platform.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/m68k/amiga/platform.c b/arch/m68k/amiga/platform.c index d34029d7b..afa2782c6 100644 --- a/arch/m68k/amiga/platform.c +++ b/arch/m68k/amiga/platform.c @@ -188,8 +188,10 @@ static int __init amiga_init_devices(void) return PTR_ERR(pdev); error = platform_device_add_data(pdev, &a1200_ide_pdata, sizeof(a1200_ide_pdata)); - if (error) + if (error) { + platform_device_unregister(pdev); return error; + } } if (AMIGAHW_PRESENT(A4000_IDE)) { @@ -199,8 +201,10 @@ static int __init amiga_init_devices(void) return PTR_ERR(pdev); error = platform_device_add_data(pdev, &a4000_ide_pdata, sizeof(a4000_ide_pdata)); - if (error) + if (error) { + platform_device_unregister(pdev); return error; + } } -- 2.25.1