On Thu, Apr 16, 2026 at 02:08:03PM +0300, Ilpo Järvinen wrote:
> On Wed, 15 Apr 2026, Lukas Wunner wrote:
> > Bernd reports passthrough failure of a Digital Devices Cine S2 V6 DVB
> > adapter plugged into an ASRock X570S PG Riptide board with BIOS version
> > P5.41 (09/07/2023):
[...]
> > Since a2f1e22390ac, config space is saved on enumeration, prior to BAR
> > correction.  Upon passthrough, the corrected BAR is overwritten with the
> > incorrect saved value by:
> 
> I'm wondering if there's something that makes this problem specific to 
> only standard BARs?
> 
> Can other resources, namely IOV resources or bridge windows, similarly be 
> updated "too late" and not get correctly updated into the saved config 
> space?

IOV registers are not saved, they're reconstructed from pci_dev->resource[]:

pci_restore_iov_state()
  sriov_restore_state()
    pci_update_resource()
      pci_iov_update_resource()

Bridge windows are saved when portdrv probes (see call to pci_save_state()
in pcie_portdrv_probe()) and that happens after the fs_initcall() because
portdrv is registered from a device_initcall().  So those should be fine
as well.

(FWIW sashiko also flagged the bridge windows not getting saved as an
(alleged) problem.)

Thanks for taking a look!

Lukas

Reply via email to