Messages in this thread | | | Subject | Re: [PATCH v8 2/2] PCI: pciehp: Mask AER surprise link down error if hotplug is enabled | From | Sinan Kaya <> | Date | Mon, 20 Aug 2018 13:43:22 -0400 |
| |
On 8/20/2018 4:21 AM, Lukas Wunner wrote: > On Fri, Aug 17, 2018 at 11:51:10PM -0700, Sinan Kaya wrote: >> +static int pciehp_control_surprise_error(struct controller *ctrl, bool enable) > > The return value isn't checked, so this could return void. >
Sure, I can do that.
> >> @@ -280,6 +303,9 @@ static int pciehp_probe(struct pcie_device *dev) >> >> pciehp_check_presence(ctrl); >> >> + /* We want exclusive control of link down events in hotplug driver */ >> + pciehp_control_surprise_error(ctrl, false); >> + >> return 0; > > Hm, if the platform firmware hasn't granted native hotplug control to OSPM, > or if some other hotplug driver than pciehp is used, shouldn't surprise down > be ignored by error recovery as well? If yes, the mask would have to be set > in generic code somewhere in drivers/pci/probe.c I guess, based on the > is_hotplug_bridge bit in struct pci_dev.
I could move this code if we know that is_hotplug_bridge flag is set regardless of OS hotplug driver control or not.
> > (Interestingly, PCI_ERR_UNCOR_MASK is already changed in probe.c by > program_hpp_type2(). That seems to be ACPI-specific code, which kind > of begs the question why it's not in pci-acpi.c?)
Yes, you can tell the OS what AER mask to set following hotplug insertion via ACPI HPP table especially if you remove a hotplug bridge. This is used during ACPI hotplug.
> > Thanks, > > Lukas >
| |