diff options
Diffstat (limited to 'drivers/mmc/mmc_block.c')
-rw-r--r-- | drivers/mmc/mmc_block.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c index f9027c8db792..5025abebfc82 100644 --- a/drivers/mmc/mmc_block.c +++ b/drivers/mmc/mmc_block.c | |||
@@ -83,7 +83,6 @@ static void mmc_blk_put(struct mmc_blk_data *md) | |||
83 | md->usage--; | 83 | md->usage--; |
84 | if (md->usage == 0) { | 84 | if (md->usage == 0) { |
85 | put_disk(md->disk); | 85 | put_disk(md->disk); |
86 | mmc_cleanup_queue(&md->queue); | ||
87 | kfree(md); | 86 | kfree(md); |
88 | } | 87 | } |
89 | mutex_unlock(&open_lock); | 88 | mutex_unlock(&open_lock); |
@@ -553,12 +552,11 @@ static void mmc_blk_remove(struct mmc_card *card) | |||
553 | if (md) { | 552 | if (md) { |
554 | int devidx; | 553 | int devidx; |
555 | 554 | ||
555 | /* Stop new requests from getting into the queue */ | ||
556 | del_gendisk(md->disk); | 556 | del_gendisk(md->disk); |
557 | 557 | ||
558 | /* | 558 | /* Then flush out any already in there */ |
559 | * I think this is needed. | 559 | mmc_cleanup_queue(&md->queue); |
560 | */ | ||
561 | md->disk->queue = NULL; | ||
562 | 560 | ||
563 | devidx = md->disk->first_minor >> MMC_SHIFT; | 561 | devidx = md->disk->first_minor >> MMC_SHIFT; |
564 | __clear_bit(devidx, dev_use); | 562 | __clear_bit(devidx, dev_use); |