Add the missing platform_device_unregister() before return
from amiga_init_devices() in the error handling case.

Signed-off-by: Qinglang Miao <[email protected]>
---
 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

Reply via email to