This patch series introduces an initial PCI Error Recovery support for Virtio PCI devices, focusing on Function Level Reset (FLR) recovery. The implementation aligns with the existing PCI error recovery framework, which provides a mechanism for coordinating between affected device drivers and PCI controllers during reset and recovery phases. By integrating Virtio PCI devices into this framework, we enhance the system's ability to handle and recover from PCI errors, particularly those requiring FLR (this patch set). This capability was previously unavailable for Virtio PCI devices post-probe, and its addition significantly improves system reliability and resiliency. The series consists of two main patches: 1. Virtio PCI: implement the necessary infrastructure and callbacks in the virtio_pci driver to handle FLR events properly. 2. Virtio Block: Implement proper cleanup and recovery procedures upon FLR events. Changes from v1 to v2: - Don't print warning with -EOPNOTSUPP error. Israel Rukshin (2): virtio_pci: Add support for PCIe Function Level Reset virtio_blk: Add support for transport error recovery drivers/block/virtio_blk.c | 28 ++++++++- drivers/virtio/virtio.c | 94 ++++++++++++++++++++++-------- drivers/virtio/virtio_pci_common.c | 41 +++++++++++++ include/linux/virtio.h | 8 +++ 4 files changed, 143 insertions(+), 28 deletions(-) -- 2.34.1