On Wed, 11 Dec 2024 17:39:54 -0600 Terry Bowman <terry.bowman@xxxxxxx> wrote: > Existing recovery procedure for PCIe Uncorrectable Errors (UCE) does not > apply to CXL devices. Recovery can not be used for CXL devices because of > potential corruption on what can be system memory. Also, current PCIe UCE > recovery, in the case of a Root Port (RP) or Downstream Switch Port (DSP), > does not begin at the RP/DSP but begins at the first downstream device. > This will miss handling CXL Protocol Errors in a CXL RP or DSP. A separate > CXL recovery is needed because of the different handling requirements > > Add a new function, cxl_do_recovery() using the following. > > Add cxl_walk_bridge() to iterate the detected error's sub-topology. > cxl_walk_bridge() is similar to pci_walk_bridge() but the CXL flavor > will begin iteration at the RP or DSP rather than beginning at the > first downstream device. I'm still not keen on this just from a subtlety making maintenance harder point of view. Guess I should find the time to make the change to the PCI walker and see if anyone shouts that it is a problem.