mmc_block: handle error from mmc_register_driver()

Check error from mmc_register_driver() and properly unwind
block device registration.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
This commit is contained in:
Akinobu Mita 2008-09-13 19:02:07 +09:00 committed by Pierre Ossman
parent da45b66ec8
commit 9d4e98e960

View file

@ -613,14 +613,19 @@ static struct mmc_driver mmc_driver = {
static int __init mmc_blk_init(void) static int __init mmc_blk_init(void)
{ {
int res = -ENOMEM; int res;
res = register_blkdev(MMC_BLOCK_MAJOR, "mmc"); res = register_blkdev(MMC_BLOCK_MAJOR, "mmc");
if (res) if (res)
goto out; 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: out:
return res; return res;
} }