mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
mmc: remove an extra blk_{get,put}_queue pair
The gendisk already acquires a reference to the queue when add_disk is called, which dropped on put_disk. So remove the superflous extra refcounting. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20210616053934.880951-2-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
6497ef8df5
commit
249cda3325
|
|
@ -202,7 +202,7 @@ static void mmc_blk_put(struct mmc_blk_data *md)
|
|||
md->usage--;
|
||||
if (md->usage == 0) {
|
||||
int devidx = mmc_get_devidx(md->disk);
|
||||
blk_put_queue(md->queue.queue);
|
||||
|
||||
ida_simple_remove(&mmc_blk_ida, devidx);
|
||||
put_disk(md->disk);
|
||||
kfree(md);
|
||||
|
|
@ -2335,18 +2335,6 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
|
|||
|
||||
md->queue.blkdata = md;
|
||||
|
||||
/*
|
||||
* Keep an extra reference to the queue so that we can shutdown the
|
||||
* queue (i.e. call blk_cleanup_queue()) while there are still
|
||||
* references to the 'md'. The corresponding blk_put_queue() is in
|
||||
* mmc_blk_put().
|
||||
*/
|
||||
if (!blk_get_queue(md->queue.queue)) {
|
||||
mmc_cleanup_queue(&md->queue);
|
||||
ret = -ENODEV;
|
||||
goto err_putdisk;
|
||||
}
|
||||
|
||||
md->disk->major = MMC_BLOCK_MAJOR;
|
||||
md->disk->first_minor = devidx * perdev_minors;
|
||||
md->disk->fops = &mmc_bdops;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user