Re: pciehp 0000:00:1c.0:pcie004: Timeout on hotplug command 0x1038 (issued 65284 msec ago)

From: Sinan Kaya
Date: Fri Apr 27 2018 - 15:34:39 EST


Hi Bjorn,

Thanks for adding me.

On 4/27/2018 3:22 PM, Bjorn Helgaas wrote:
> Sinan mooted the idea of using a "no-wait" path of sending the "don't
> generate hotplug interrupts" command. I think we should work on this
> idea a little more. If we're shutting down the whole system, I can't
> believe there's much value in *anything* we do in the pciehp_remove()
> path.
>
> Maybe we should just get rid of pciehp_remove() (and probably
> pcie_port_remove_service() and the other service driver remove methods)
> completely. That dates from when the service drivers could be modules that
> could be potentially unloaded, but unloading them hasn't been possible for
> years.

Shutdown path is also used for kexec. Leaving hotplug interrupts pending is
dangerous for the newly loaded kernel as it leaves spurious interrupts
during the new kernel boot.

I think we should always disable the hotplug interrupt on shutdown. We might
think of not waiting for command-completion as a middle-ground or go to polling
path instead of interrupts all the time.

Sinan

--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.