aboutsummaryrefslogtreecommitdiff
path: root/drivers/block/paride/kbic.c
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2006-12-06 20:36:21 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 08:39:33 -0800
commitb4178ab58aa81f4ed3c75c48940682fe3b45d880 (patch)
treed9bd5827ee1f9a36bf9958a56760f6206272cc2f /drivers/block/paride/kbic.c
parentf4330002d11f032559954cbff68a5cad95b6d27f (diff)
[PATCH] paride_register(): shuffle return values
paride_register() returns 1 on success, 0 on failure and module init code looks like static int __init foo_init(void) { return paride_register(&foo) - 1; } which is not what one get used to. Converted to usual 0/-E convention. In case of kbic driver, unwind registration. It was just return (paride_register(&k951)||paride_register(&k971))-1; Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block/paride/kbic.c')
-rw-r--r--drivers/block/paride/kbic.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/block/paride/kbic.c b/drivers/block/paride/kbic.c
index a5632819027..35999c415ee 100644
--- a/drivers/block/paride/kbic.c
+++ b/drivers/block/paride/kbic.c
@@ -283,7 +283,15 @@ static struct pi_protocol k971 = {
static int __init kbic_init(void)
{
- return (paride_register(&k951)||paride_register(&k971))-1;
+ int rv;
+
+ rv = paride_register(&k951);
+ if (rv < 0)
+ return rv;
+ rv = paride_register(&k971);
+ if (rv < 0)
+ paride_unregister(&k951);
+ return rv;
}
static void __exit kbic_exit(void)