virtio_mmio: Add missing PM calls to freeze/restore
authorStephan Gerhold <stephan.gerhold@kernkonzept.com>
Tue, 21 Jun 2022 11:06:20 +0000 (13:06 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 27 Jun 2022 12:05:35 +0000 (08:05 -0400)
commited7ac37fde33ccd84e4bd2b9363c191f925364c7
tree5b3d0e916bdc5e49b37124ff4ae98bb2c45660e0
parent11a37eb66812ce6a06b79223ad530eb0e1d7294d
virtio_mmio: Add missing PM calls to freeze/restore

Most virtio drivers provide freeze/restore callbacks to finish up
device usage before suspend and to reinitialize the virtio device after
resume. However, these callbacks are currently only called when using
virtio_pci. virtio_mmio does not have any PM ops defined.

This causes problems for example after suspend to disk (hibernation),
since the virtio devices might lose their state after the VMM is
restarted. Calling virtio_device_freeze()/restore() ensures that
the virtio devices are re-initialized correctly.

Fix this by implementing the dev_pm_ops for virtio_mmio,
similar to virtio_pci_common.

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Message-Id: <20220621110621.3638025-2-stephan.gerhold@kernkonzept.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_mmio.c