[SCSI] aha152x: fix init suspiciously returned 1, it should follow 0/-E convention
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Sat, 10 May 2008 13:33:58 +0000 (08:33 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Sun, 11 May 2008 13:36:15 +0000 (08:36 -0500)
Reported-by: Frank de Jong <frapex@xs4all.nl>
> [1.] One line summary of the problem:
> linux-2.6.25.3, aha152x'->init suspiciously returned 1, it should
> follow 0/-E convention. The module / driver works okay. Unloading the
> module is impossible.

The driver is apparently returning 0 on failure and 1 on success.
That's a bit unfortunate.  Fix it by altering to -ENODEV and 0.

Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/aha152x.c

index f5215fd4b73d30bac4603dd7deab26adccb11971..f0c4ffceabbe168d8ede99a016efd6153d7dc186 100644 (file)
@@ -3830,7 +3830,7 @@ static int __init aha152x_init(void)
                        iounmap(p);
                }
                if (!ok && setup_count == 0)
-                       return 0;
+                       return -ENODEV;
 
                printk(KERN_INFO "aha152x: BIOS test: passed, ");
 #else
@@ -3909,7 +3909,7 @@ static int __init aha152x_init(void)
 #endif
        }
 
-       return 1;
+       return 0;
 }
 
 static void __exit aha152x_exit(void)