Re: xhci_pci & PCIe hotplug crash

From: Lukas Wunner
Date: Sat Jun 19 2021 - 03:54:06 EST


On Wed, May 05, 2021 at 05:39:42PM +0200, Pali Rohár wrote:
> On Wednesday 05 May 2021 15:20:11 David Laight wrote:
> > From: Pali Rohár
> > Sent: 05 May 2021 14:03
> > > So seems that PCIe controller HW triggers these external aborts when
> > > device on PCIe bus is not accessible anymore.
> > >
> > > If this issue is really caused by MMIO access from xhci driver when
> > > device is not accessible on the bus anymore, can we do something to
> > > prevent this kernel crash? Somehow mask that external abort in kernel
> > > for a time during MMIO access?
> >
> > If it is a cycle abort then the interrupted address is probably
> > that of the MMIO instruction.
> > So you need to catch the abort, emulate the instruction and
> > then return to the next one.
>
> Has kernel API & infrastructure for catching these aborts and executing
> own driver handler when abort happens?

Yes, see here for an example:

https://lore.kernel.org/linux-pci/20210615191405.21878-4-jim2101024@xxxxxxxxx/