public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Farhan Ali <alifm@linux.ibm.com>
To: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org
Cc: helgaas@kernel.org, lukas@wunner.de, alex@shazbot.org,
	clg@redhat.com, stable@vger.kernel.org, alifm@linux.ibm.com,
	schnelle@linux.ibm.com, mjrosato@linux.ibm.com,
	julianr@linux.ibm.com
Subject: [PATCH v8 8/9] vfio: Add a reset_done callback for vfio-pci driver
Date: Thu, 22 Jan 2026 11:44:36 -0800	[thread overview]
Message-ID: <20260122194437.1903-9-alifm@linux.ibm.com> (raw)
In-Reply-To: <20260122194437.1903-1-alifm@linux.ibm.com>

On error recovery for a PCI device bound to vfio-pci driver, we want to
recover the state of the device to its last known saved state. The callback
restores the state of the device to its initial saved state.

Reviewed-by: Julian Ruess <julianr@linux.ibm.com>
Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
---
 drivers/vfio/pci/vfio_pci_core.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
index f677705921e6..c92c6c512b24 100644
--- a/drivers/vfio/pci/vfio_pci_core.c
+++ b/drivers/vfio/pci/vfio_pci_core.c
@@ -2249,6 +2249,17 @@ pci_ers_result_t vfio_pci_core_aer_err_detected(struct pci_dev *pdev,
 }
 EXPORT_SYMBOL_GPL(vfio_pci_core_aer_err_detected);
 
+static void vfio_pci_core_aer_reset_done(struct pci_dev *pdev)
+{
+	struct vfio_pci_core_device *vdev = dev_get_drvdata(&pdev->dev);
+
+	if (!vdev->pci_saved_state)
+		return;
+
+	pci_load_saved_state(pdev, vdev->pci_saved_state);
+	pci_restore_state(pdev);
+}
+
 int vfio_pci_core_sriov_configure(struct vfio_pci_core_device *vdev,
 				  int nr_virtfn)
 {
@@ -2313,6 +2324,7 @@ EXPORT_SYMBOL_GPL(vfio_pci_core_sriov_configure);
 
 const struct pci_error_handlers vfio_pci_core_err_handlers = {
 	.error_detected = vfio_pci_core_aer_err_detected,
+	.reset_done = vfio_pci_core_aer_reset_done,
 };
 EXPORT_SYMBOL_GPL(vfio_pci_core_err_handlers);
 
-- 
2.43.0


  parent reply	other threads:[~2026-01-22 19:45 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-22 19:44 [PATCH v8 0/9] Error recovery for vfio-pci devices on s390x Farhan Ali
2026-01-22 19:44 ` [PATCH v8 1/9] PCI: Allow per function PCI slots Farhan Ali
2026-01-22 19:44 ` [PATCH v8 2/9] s390/pci: Add architecture specific resource/bus address translation Farhan Ali
2026-01-22 19:44 ` [PATCH v8 3/9] PCI: Avoid saving config space state if inaccessible Farhan Ali
2026-01-26 21:00   ` Niklas Schnelle
2026-02-07  0:39   ` Bjorn Helgaas
2026-02-09 18:20     ` Farhan Ali
2026-01-22 19:44 ` [PATCH v8 4/9] PCI: Add additional checks for flr reset Farhan Ali
2026-01-26 13:11   ` Julian Ruess
2026-01-22 19:44 ` [PATCH v8 5/9] s390/pci: Update the logic for detecting passthrough device Farhan Ali
2026-01-22 19:44 ` [PATCH v8 6/9] s390/pci: Store PCI error information for passthrough devices Farhan Ali
2026-01-22 19:44 ` [PATCH v8 7/9] vfio-pci/zdev: Add a device feature for error information Farhan Ali
2026-01-27 10:53   ` Niklas Schnelle
2026-01-27 21:44     ` Farhan Ali
2026-01-22 19:44 ` Farhan Ali [this message]
2026-01-27 11:02   ` [PATCH v8 8/9] vfio: Add a reset_done callback for vfio-pci driver Niklas Schnelle
2026-01-22 19:44 ` [PATCH v8 9/9] vfio: Remove the pcie check for VFIO_PCI_ERR_IRQ_INDEX Farhan Ali
2026-01-26 15:31   ` Julian Ruess
2026-01-26 17:38     ` Farhan Ali
2026-01-27  8:15   ` Julian Ruess
2026-01-27 11:16   ` Niklas Schnelle
2026-02-06 19:03 ` [PATCH v8 0/9] Error recovery for vfio-pci devices on s390x Farhan Ali

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260122194437.1903-9-alifm@linux.ibm.com \
    --to=alifm@linux.ibm.com \
    --cc=alex@shazbot.org \
    --cc=clg@redhat.com \
    --cc=helgaas@kernel.org \
    --cc=julianr@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=mjrosato@linux.ibm.com \
    --cc=schnelle@linux.ibm.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox