diff options
Diffstat (limited to 'drivers/mmc/card/block.c')
-rw-r--r-- | drivers/mmc/card/block.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 71da5641e258..f85e42224559 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c | |||
@@ -1024,7 +1024,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, | |||
1024 | INIT_LIST_HEAD(&md->part); | 1024 | INIT_LIST_HEAD(&md->part); |
1025 | md->usage = 1; | 1025 | md->usage = 1; |
1026 | 1026 | ||
1027 | ret = mmc_init_queue(&md->queue, card, &md->lock); | 1027 | ret = mmc_init_queue(&md->queue, card, &md->lock, subname); |
1028 | if (ret) | 1028 | if (ret) |
1029 | goto err_putdisk; | 1029 | goto err_putdisk; |
1030 | 1030 | ||
@@ -1297,6 +1297,9 @@ static void mmc_blk_remove(struct mmc_card *card) | |||
1297 | struct mmc_blk_data *md = mmc_get_drvdata(card); | 1297 | struct mmc_blk_data *md = mmc_get_drvdata(card); |
1298 | 1298 | ||
1299 | mmc_blk_remove_parts(card, md); | 1299 | mmc_blk_remove_parts(card, md); |
1300 | mmc_claim_host(card->host); | ||
1301 | mmc_blk_part_switch(card, md); | ||
1302 | mmc_release_host(card->host); | ||
1300 | mmc_blk_remove_req(md); | 1303 | mmc_blk_remove_req(md); |
1301 | mmc_set_drvdata(card, NULL); | 1304 | mmc_set_drvdata(card, NULL); |
1302 | } | 1305 | } |