From 1783912de1ce64a0d87b33ac5217685d04974522 Mon Sep 17 00:00:00 2001 From: Asias He Date: Fri, 25 May 2012 10:34:48 +0800 Subject: [PATCH] --- yaml --- r: 319820 b: refs/heads/master c: 483001c765af6892b3fc3726576cb42f17d1d6b5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/block/virtio_blk.c | 12 +----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index e6b0b31d51ee..24aec71ce5f1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 02e2b124943648fba0a2ccee5c3656a5653e0151 +refs/heads/master: 483001c765af6892b3fc3726576cb42f17d1d6b5 diff --git a/trunk/drivers/block/virtio_blk.c b/trunk/drivers/block/virtio_blk.c index 1bed51712dd1..b4fa2d71496e 100644 --- a/trunk/drivers/block/virtio_blk.c +++ b/trunk/drivers/block/virtio_blk.c @@ -576,8 +576,6 @@ static void __devexit virtblk_remove(struct virtio_device *vdev) { struct virtio_blk *vblk = vdev->priv; int index = vblk->index; - struct virtblk_req *vbr; - unsigned long flags; /* Prevent config work handler from accessing the device. */ mutex_lock(&vblk->config_lock); @@ -585,21 +583,13 @@ static void __devexit virtblk_remove(struct virtio_device *vdev) mutex_unlock(&vblk->config_lock); del_gendisk(vblk->disk); + blk_cleanup_queue(vblk->disk->queue); /* Stop all the virtqueues. */ vdev->config->reset(vdev); flush_work(&vblk->config_work); - /* Abort requests dispatched to driver. */ - spin_lock_irqsave(&vblk->lock, flags); - while ((vbr = virtqueue_detach_unused_buf(vblk->vq))) { - __blk_end_request_all(vbr->req, -EIO); - mempool_free(vbr, vblk->pool); - } - spin_unlock_irqrestore(&vblk->lock, flags); - - blk_cleanup_queue(vblk->disk->queue); put_disk(vblk->disk); mempool_destroy(vblk->pool); vdev->config->del_vqs(vdev);