summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2005-10-30 16:32:27 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-10-30 16:32:27 +0000
commite32e28edc3d894201e15b19df627af66023aa91f (patch)
treeac7f1bf0f55b6bc68ef931be7b6a7098f059d867 /drivers
parentbbbf508d6403f9dfeeb040d9cd7366e395632e59 (diff)
downloadlinux-0-day-e32e28edc3d894201e15b19df627af66023aa91f.tar.gz
linux-0-day-e32e28edc3d894201e15b19df627af66023aa91f.tar.xz
[DRIVER MODEL] Add missing driver_unregister in i2c-s3c2410 failure path.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/i2c/busses/i2c-s3c2410.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index a1268e5342542..1b582262e677e 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -918,8 +918,11 @@ static int __init i2c_adap_s3c_init(void)
int ret;
ret = driver_register(&s3c2410_i2c_driver);
- if (ret == 0)
- ret = driver_register(&s3c2440_i2c_driver);
+ if (ret == 0) {
+ ret = driver_register(&s3c2440_i2c_driver);
+ if (ret)
+ driver_unregister(&s3c2410_i2c_driver);
+ }
return ret;
}