EDAC, mv64x60: Check driver registration success
authorChris Packham <chris.packham@alliedtelesis.co.nz>
Mon, 29 May 2017 21:21:40 +0000 (09:21 +1200)
committerBorislav Petkov <bp@suse.de>
Tue, 30 May 2017 07:55:51 +0000 (09:55 +0200)
Check the return status of platform_driver_register() in
mv64x60_edac_init(). Only output messages and initialise the
edac_op_state if the registration is successful.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/20170529212142.25572-2-chris.packham@alliedtelesis.co.nz
Signed-off-by: Borislav Petkov <bp@suse.de>
drivers/edac/mv64x60_edac.c

index 6859bba..77bfc3d 100644 (file)
@@ -853,10 +853,15 @@ static struct platform_driver * const drivers[] = {
 
 static int __init mv64x60_edac_init(void)
 {
-       int ret = 0;
+       int ret;
+
+       ret = platform_register_drivers(drivers, ARRAY_SIZE(drivers));
+       if (ret)
+               return ret;
 
        printk(KERN_INFO "Marvell MV64x60 EDAC driver " MV64x60_REVISION "\n");
        printk(KERN_INFO "\t(C) 2006-2007 MontaVista Software\n");
+
        /* make sure error reporting method is sane */
        switch (edac_op_state) {
        case EDAC_OPSTATE_POLL:
@@ -867,7 +872,7 @@ static int __init mv64x60_edac_init(void)
                break;
        }
 
-       return platform_register_drivers(drivers, ARRAY_SIZE(drivers));
+       return 0;
 }
 module_init(mv64x60_edac_init);