Skip to content
  • Oza Pawandeep's avatar
    PCI/DPC: Use the generic pcie_do_fatal_recovery() path · b09803b5
    Oza Pawandeep authored
    
    
    Our goal is to handle ERR_FATAL errors similarly, whether they are reported
    via AER or via DPC.  A previous commit changed AER so it handles ERR_FATAL
    by calling driver .remove() methods and resetting the Link.  DPC already
    does that (although the Link reset is done automatically by hardware and
    happens before we call the driver .remove() methods).
    
    Restructure the DPC code so it calls the same pcie_do_fatal_recovery()
    interface used by AER.  This makes it clearer that we want to use the same
    path.
    
    Implement the .reset_link() method used by pcie_do_fatal_recovery().  For
    DPC, the actual reset is done automatically by hardware, so we really only
    have to wait for the Link to be inactive, then release the Port from DPC.
    
    Signed-off-by: default avatarOza Pawandeep <poza@codeaurora.org>
    [bhelgaas: changelog, DPC_FATAL is not a bitfield, can be sequential]
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    b09803b5