On Wed, Aug 13, 2025 at 04:01:09PM -0700, Sathyanarayanan Kuppuswamy wrote: > On 8/12/25 10:11 PM, Lukas Wunner wrote: > > The file Documentation/PCI/pcieaer-howto.rst hints at a rationale for > > always performing a Bus Reset on Fatal Errors: "Fatal errors [...] cause > > the link to be unreliable. [...] This [reset_link] callback is used to > > reset the PCIe physical link when a fatal error happens. If an error > > message indicates a fatal error, [...] performing link reset at upstream > > is necessary." > > In the code we don't seem to differentiate link_reset and slot_reset. But > the Documentation calls them into two steps. Do you think we should > fix the Documentation?
reset_link and slot_reset are two different things: * slot_reset is the ->slot_reset() callback in struct pci_error_handlers. * reset_link is the reset_subordinates() callback passed in to pcie_do_recovery(). Commit 8f1bbfbc3596 renamed reset_link() to reset_subordinates() but neglected to update Documentation/PCI/pcieaer-howto.rst. Commit b6cf1a42f916 dropped the reset_link() callback from struct pcie_port_service_driver and dropped default_reset_link() in favor of passing aer_root_reset() to pcie_do_recovery(). Yet the documentation continues referring to a "default reset_link callback" and incorrectly claims that "Upstream Port drivers may provide their own reset_link functions". I've begun updating the documentation and intend to submit that separately. Thanks, Lukas