Re: [PATCH v9 3/9] PCI: Avoid saving config space state in reset path
From: Bjorn Helgaas
Date: Wed Feb 18 2026 - 14:35:12 EST
On Wed, Feb 18, 2026 at 12:02:01PM -0700, Keith Busch wrote:
> On Tue, Feb 17, 2026 at 11:55:43AM -0800, Farhan Ali wrote:
> >
> > Yes I think you are right, with this change the PCI Command
> > register gets restored to state at enumeration. So we will lose
> > the updated state after pci_clear_master() and
> > pci_enable_device(). I think we can update the vfio driver to call
> > pci_save_state() after pci_enable_device()?
>
> Either that, or move the pci_enable_device() call to after the
> function reset.
I kind of like the latter idea because it seems a little simpler for
the rule of thumb to be that a reset done by the PCI core returns the
device to the same state as when the driver first probed the device.
Drivers would generally not use pci_save_state() at all, and they
could share some initialization logic between probe and post-reset
recovery.
But I would really like to have Lukas's take on this. Clearly some
drivers would have to be adapted if we stop saving config space in the
PCI core reset path. We can take care of that for upstream drivers,
but it seems risky for out-of-tree drivers.
Bjorn