]> git.baikalelectronics.ru Git - kernel.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Jul 2022 19:24:33 +0000 (21:24 +0200)
commita0d19882dd7cb5025f0da69f05c86cbb31da08ca
tree1e982c832926ae985d4cf00af4d7d09847807819
parenta6b2cd601b8b3f8d30a7dc70023b5ba94b0bb389
virtio_mmio: Add missing PM calls to freeze/restore

[ Upstream commit 0c395dc28f3f710b56cb1934d9f2236e9203dbab ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/virtio/virtio_mmio.c