summaryrefslogtreecommitdiff
path: root/drivers/misc/ibmasm
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-03-17 05:50:32 (GMT)
committerAl Viro <viro@zeniv.linux.org.uk>2012-03-21 01:29:44 (GMT)
commitea23b453103e7495ef0a90c86b92f27e17092bfa (patch)
tree631e91631278050750e6a5cb245bb00b954158b5 /drivers/misc/ibmasm
parent640045a1cd21d002caafa9eb9ed66cc31b88076a (diff)
downloadlinux-ea23b453103e7495ef0a90c86b92f27e17092bfa.tar.xz
ibmasmfs: make register_filesystem the last failure exit
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/misc/ibmasm')
-rw-r--r--drivers/misc/ibmasm/module.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/misc/ibmasm/module.c b/drivers/misc/ibmasm/module.c
index 1ccedb71..168d800 100644
--- a/drivers/misc/ibmasm/module.c
+++ b/drivers/misc/ibmasm/module.c
@@ -211,18 +211,17 @@ static void __exit ibmasm_exit (void)
static int __init ibmasm_init(void)
{
- int result;
+ int result = pci_register_driver(&ibmasm_driver);
+ if (result)
+ return result;
result = ibmasmfs_register();
if (result) {
+ pci_unregister_driver(&ibmasm_driver);
err("Failed to register ibmasmfs file system");
return result;
}
- result = pci_register_driver(&ibmasm_driver);
- if (result) {
- ibmasmfs_unregister();
- return result;
- }
+
ibmasm_register_panic_notifier();
info(DRIVER_DESC " version " DRIVER_VERSION " loaded");
return 0;