]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mmc/card/block.c
mmc_block: handle error from mmc_register_driver()
[karo-tx-linux.git] / drivers / mmc / card / block.c
index 86dbb366415a14a76b3961180cd3f14176f911cc..43d9a5b53e8d3a9d9bb7dcfee6ac95626749844f 100644 (file)
@@ -613,14 +613,19 @@ static struct mmc_driver mmc_driver = {
 
 static int __init mmc_blk_init(void)
 {
-       int res = -ENOMEM;
+       int res;
 
        res = register_blkdev(MMC_BLOCK_MAJOR, "mmc");
        if (res)
                goto out;
 
-       return mmc_register_driver(&mmc_driver);
+       res = mmc_register_driver(&mmc_driver);
+       if (res)
+               goto out2;
 
+       return 0;
+ out2:
+       unregister_blkdev(MMC_BLOCK_MAJOR, "mmc");
  out:
        return res;
 }