> > IF CRS is supported by Root Port but CRS SV is not enabled, the request > > is retried autonomously by the Root Port. Platform-specific configuration > > registers may exist to limit the number of or time taken by such retries. > > Also when CRSV is enabled, config read that doesn't cover VENDOR is > also retried automatically. > Agreed. This is explained in the very next sentence of the commit message, but I will see if I can re-order/re-phrase to make the explanation less confusing. > > > > + if (dev->crssv_enabled) { > > + u32 id; > > I like this check to read VENDOR_ID when crssv is enabled. But your patches > seems to define in patch13 and used in patch16? > > can we keep them simple? and if possible just this would be a > needed fix. We have some systems that we have found can cause > timeouts if CRSV is enabled, but you read any other register > other than the PCI_VENDOR. > > Would prefer to see this fix before the other cleanups can stabilize :-) > Makes sense. I guess I got ahead of myself when extending the original v1 of this patch series from only dealing with the CRS problem to "let's fix the world" :-) I will reorder my patches a bit and post them as two separate series, so that the CRS-related stuff can be pushed earlier and on its own while the rest stabilizes. > I would also mark that for stable. Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B Sitz: Berlin Ust-ID: DE 289 237 879