Re: Bug report: the extended PCI config space is missed with 6.2-rc2

From: Bjorn Helgaas
Date: Thu Jan 05 2023 - 17:20:38 EST


On Thu, Jan 05, 2023 at 09:49:44PM +0000, Luck, Tony wrote:
> > The EDAC driver wouldn't have any ACPI stuff in it; it's just that
> > Linux is looking for ACPI info about the ECAM area.
>
> Is there some way for a driver to know that pci_read_config_dword()
> is going to fail for offsets in extended PCIe config space?

There's no nice way to know ahead of time. "raw_pci_ext_ops ==
&pci_mmcfg" means it should work. It looks like pci_direct_conf1 and
pci_mmcfg_numachip would also work, but it's all pretty ugly.

You could check the result for PCI_POSSIBLE_ERROR(), since reads
should return ~0 (PCI_ERROR_RESPONSE) if they fail either because we
can't access extended config space or because there was some PCI
error.

Bjorn