On Sun, Sep 26, 2021 at 01:13:19PM +0200, Pali Rohár wrote: > On Wednesday 22 September 2021 11:48:03 Bjorn Helgaas wrote: > > The config read of Vendor ID after a reset should be done by the PCI > > core, not a device driver. > > Of course. But in case of unexpected reset (which PCI code does not > detect), card driver at the same time could issue some config read/write > request. By "unexpected reset", you mean a reset performed autonomously by the device, or a reset initiated by the driver without help from the PCI core? Either way, I think the PCI core is pretty much out of the picture and the driver is on its own. > > If we disable CRS SV, the only outcomes of > > that read are: > > > > 1) Valid Vendor ID data, or > > > > 2) Failed transaction, typically reported as 0xffff data (and, I > > expect, an Unsupported Request or similar error logged) > > Yes. And I think it should apply also for any other config register, not > just vendor id. Yes. > In case error reporting or AER functionality is not supported then there > would be no error logged. And PCI core / kernel does not have to know > that such thing happened. There *should* be at least the logging in Device Status for all PCIe devices, though I'm not sure the PCI core handles that nicely. I'm looking at PCIe r5.0, sec 6.2.5: https://imgur.com/a/0yqygiM Bjorn