Enumerating an empty bus hangs the entire system

David Laight David.Laight at ACULAB.COM
Wed Mar 15 09:19:41 PDT 2017


From: Mason
> Sent: 15 March 2017 16:14
> On 15/03/2017 17:02, Bjorn Helgaas wrote:
> 
> > If checking for link in your accessor is the best you can do, maybe
> > that's all you can do.  I thought there was another driver that did
> > that, but I can't find it now.  It doesn't seem perfectly safe to me,
> > since the link could go down after you check for "link up" and before
> > you actually issue the read.
> 
> Are you thinking of some hotplug scenario?
> 
> My system doesn't support hotplug, and I naively thought that the
> link would be down if there is no card, and up shortly after reset
> if there is a card.

Noise on the lines can be enough to take the link down.

We have some very annoying Dell x86 server chassis that generate an
NMI when the PCIe link has any sort of error.
The software can be 'hardened' to reads returning ~0u, doing anything
useful in an NMI handler is almost impossible.
They also won't boot is there is an error early on.
Stops us doing a remove, reprogram fpga, rescan.

	David




More information about the linux-arm-kernel mailing list