Move the migration device state reset code from .reset_done() to
dedicated callback.
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
---
drivers/vfio/pci/pds/pci_drv.c | 10 ----------
drivers/vfio/pci/pds/vfio_dev.c | 12 ++++++++++++
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/drivers/vfio/pci/pds/pci_drv.c b/drivers/vfio/pci/pds/pci_drv.c
index 4923f18231263..4cf3d2e3767a6 100644
--- a/drivers/vfio/pci/pds/pci_drv.c
+++ b/drivers/vfio/pci/pds/pci_drv.c
@@ -162,17 +162,7 @@ static const struct pci_device_id pds_vfio_pci_table[] = {
};
MODULE_DEVICE_TABLE(pci, pds_vfio_pci_table);
-static void pds_vfio_pci_aer_reset_done(struct pci_dev *pdev)
-{
- struct pds_vfio_pci_device *pds_vfio = pds_vfio_pci_drvdata(pdev);
-
- mutex_lock(&pds_vfio->state_mutex);
- pds_vfio_reset(pds_vfio, VFIO_DEVICE_STATE_RUNNING);
- mutex_unlock(&pds_vfio->state_mutex);
-}
-
static const struct pci_error_handlers pds_vfio_pci_err_handlers = {
- .reset_done = pds_vfio_pci_aer_reset_done,
.error_detected = vfio_pci_core_aer_err_detected,
};
diff --git a/drivers/vfio/pci/pds/vfio_dev.c b/drivers/vfio/pci/pds/vfio_dev.c
index f3ccb0008f675..6b29641b5819b 100644
--- a/drivers/vfio/pci/pds/vfio_dev.c
+++ b/drivers/vfio/pci/pds/vfio_dev.c
@@ -101,9 +101,21 @@ static int pds_vfio_get_device_state_size(struct vfio_device *vdev,
return 0;
}
+static void pds_vfio_reset_device_state(struct vfio_device *vdev)
+{
+ struct pds_vfio_pci_device *pds_vfio =
+ container_of(vdev, struct pds_vfio_pci_device,
+ vfio_coredev.vdev);
+
+ mutex_lock(&pds_vfio->state_mutex);
+ pds_vfio_reset(pds_vfio, VFIO_DEVICE_STATE_RUNNING);
+ mutex_unlock(&pds_vfio->state_mutex);
+}
+
static const struct vfio_migration_ops pds_vfio_lm_ops = {
.migration_set_state = pds_vfio_set_device_state,
.migration_get_state = pds_vfio_get_device_state,
+ .migration_reset_state = pds_vfio_reset_device_state,
.migration_get_data_size = pds_vfio_get_device_state_size
};
--
2.51.2