[PATCH] scx200_acb: Fix return on init error
authorJean Delvare <khali@linux-fr.org>
Wed, 26 Apr 2006 20:50:32 +0000 (22:50 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 9 May 2006 20:04:21 +0000 (13:04 -0700)
The scx200_acb driver shouldn't return failure after initialization
if it successfully registered at least one i2c_adapter, else we are
leaking resources. The driver was OK in that respect up to 2.6.16, a
recent change broke it.

This is part of the fix to bug #6445.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Ben Gardner <bgardner@wabtec.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/i2c/busses/scx200_acb.c

index 8bd305e47f0d1d87ce5718a04a6812865b6841a0..f2dae6831142a92206d9c52e58a57804cc1cefcc 100644 (file)
@@ -524,6 +524,9 @@ static int __init scx200_acb_init(void)
        } else if (pci_dev_present(divil_pci))
                rc = scx200_add_cs553x();
 
+       /* If at least one bus was created, init must succeed */
+       if (scx200_acb_list)
+               return 0;
        return rc;
 }