aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorweiping zhang <zhangweiping@didichuxing.com>2017-12-06 08:59:32 -0500
committerMichael S. Tsirkin <mst@redhat.com>2017-12-07 11:30:50 -0500
commit25f32223bce5c580e0392a176319a587d7a17e95 (patch)
treeb32d101076550c42ecf00a102a421bd107bdb900
parent7eb781b1bbb7136fe78fb8c28c1c223c61fa32b5 (diff)
virtio_mmio: add cleanup for virtio_mmio_remove
cleanup all resource allocated by virtio_mmio_probe. Signed-off-by: weiping zhang <zhangweiping@didichuxing.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
-rw-r--r--drivers/virtio/virtio_mmio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
index ec401042a5d1..a9192fe4f345 100644
--- a/drivers/virtio/virtio_mmio.c
+++ b/drivers/virtio/virtio_mmio.c
@@ -610,7 +610,13 @@ free_vmdev:
610static int virtio_mmio_remove(struct platform_device *pdev) 610static int virtio_mmio_remove(struct platform_device *pdev)
611{ 611{
612 struct virtio_mmio_device *vm_dev = platform_get_drvdata(pdev); 612 struct virtio_mmio_device *vm_dev = platform_get_drvdata(pdev);
613 struct resource *mem;
613 614
615 iounmap(vm_dev->base);
616 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
617 if (mem)
618 devm_release_mem_region(&pdev->dev, mem->start,
619 resource_size(mem));
614 unregister_virtio_device(&vm_dev->vdev); 620 unregister_virtio_device(&vm_dev->vdev);
615 621
616 return 0; 622 return 0;