diff options
| author | weiping zhang <zhangweiping@didichuxing.com> | 2017-12-06 08:59:32 -0500 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2017-12-07 11:30:50 -0500 |
| commit | 25f32223bce5c580e0392a176319a587d7a17e95 (patch) | |
| tree | b32d101076550c42ecf00a102a421bd107bdb900 | |
| parent | 7eb781b1bbb7136fe78fb8c28c1c223c61fa32b5 (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.c | 6 |
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: | |||
| 610 | static int virtio_mmio_remove(struct platform_device *pdev) | 610 | static 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; |
