aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorChris Lalancette <clalance@redhat.com>2008-05-30 16:09:41 -0400
committerRusty Russell <rusty@rustcorp.com.au>2008-05-30 01:09:41 -0400
commitac9d463afb1ca2434335351f3b7d9e4c8f8470e9 (patch)
tree02dd8e340507ebd7be549cca1c1a33ab42a02a7c /drivers/block
parente27810f11340987df123a99eb9ae14c054a55639 (diff)
Fix crash in virtio_blk during modprobe ; rmmod ; modprobe
Fix a modprobe virtio_blk ; rmmod virtio_blk ; modprobe virtio_blk crash; this was basically because we weren't doing "del_gendisk()" in the remove path. Signed-off-by: Chris Lalancette <clalance@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (moved del_gendisk up)
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/virtio_blk.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 84e064ffee52..c4804f3465db 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -311,6 +311,7 @@ static void virtblk_remove(struct virtio_device *vdev)
311 /* Stop all the virtqueues. */ 311 /* Stop all the virtqueues. */
312 vdev->config->reset(vdev); 312 vdev->config->reset(vdev);
313 313
314 del_gendisk(vblk->disk);
314 blk_cleanup_queue(vblk->disk->queue); 315 blk_cleanup_queue(vblk->disk->queue);
315 put_disk(vblk->disk); 316 put_disk(vblk->disk);
316 mempool_destroy(vblk->pool); 317 mempool_destroy(vblk->pool);