diff options
author | Chris Lalancette <clalance@redhat.com> | 2008-05-30 16:09:41 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-05-30 01:09:41 -0400 |
commit | ac9d463afb1ca2434335351f3b7d9e4c8f8470e9 (patch) | |
tree | 02dd8e340507ebd7be549cca1c1a33ab42a02a7c /drivers/block/virtio_blk.c | |
parent | e27810f11340987df123a99eb9ae14c054a55639 (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/virtio_blk.c')
-rw-r--r-- | drivers/block/virtio_blk.c | 1 |
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); |