summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2006-04-26 22:50:32 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-05-09 13:04:21 -0700
commit6f9c2963888e60e46a9e0bd09a25740abce29262 (patch)
treea6f6a310c409fefda006790a77c7ae0d559a33ca
parente515f048c46e457ef61ce9c8b56bd36e825a48a0 (diff)
downloadlinux-6f9c2963888e60e46a9e0bd09a25740abce29262.tar.gz
linux-6f9c2963888e60e46a9e0bd09a25740abce29262.tar.bz2
linux-6f9c2963888e60e46a9e0bd09a25740abce29262.zip
[PATCH] scx200_acb: Fix return on init error
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>
-rw-r--r--drivers/i2c/busses/scx200_acb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/i2c/busses/scx200_acb.c b/drivers/i2c/busses/scx200_acb.c
index 8bd305e47f0d..f2dae6831142 100644
--- a/drivers/i2c/busses/scx200_acb.c
+++ b/drivers/i2c/busses/scx200_acb.c
@@ -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;
}