Skip to content

Commit

Permalink
mtd: blktrans: do blk_cleanup_queue when it is really safe to do so
Browse files Browse the repository at this point in the history
I was calling it in del_mtd_blktrans_dev, but ->request_fn could
still be running at that point, thus defer this call
to blktrans_dev_release

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
  • Loading branch information
Maxim Levitsky authored and David Woodhouse committed Mar 9, 2010
1 parent 7de6f79 commit e4d64ca
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/mtd/mtd_blkdevs.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ void blktrans_dev_release(struct kref *kref)
container_of(kref, struct mtd_blktrans_dev, ref);

dev->disk->private_data = NULL;
blk_cleanup_queue(dev->rq);
put_disk(dev->disk);
list_del(&dev->list);
kfree(dev);
Expand Down Expand Up @@ -423,7 +424,6 @@ int del_mtd_blktrans_dev(struct mtd_blktrans_dev *old)
old->rq->queuedata = NULL;
blk_start_queue(old->rq);
spin_unlock_irqrestore(&old->queue_lock, flags);
blk_cleanup_queue(old->rq);

/* Ask trans driver for release to the mtd device */
mutex_lock(&old->lock);
Expand Down

0 comments on commit e4d64ca

Please sign in to comment.