On Mon, 2018-08-20 at 18:02 -0400, Sinan Kaya wrote: > On 8/20/2018 5:53 PM, Benjamin Herrenschmidt wrote: > > > > Hotplug driver removes the devices on link down events and re-enumerates > > > > on insertion. > > > > > > > > I am trying to separate fatal error handling from hotplug. > > > > > > I'll try to take a look. We can't always count on pciehp to do the > > > removal when a removal occurs, though. The PCIe specification contains > > > an implementation note that DPC may be used in place of hotplug surprise. > > > > Can't you use the presence detect to differenciate ? > > > > Also, I don't have the specs at hand right now, but does the hotplug > > brigde have a way to "latch' the change in presence detect so we can > > see if it has transitioned even if it's back on ? > > There is only presence detect change and link layer change. No actual > state information. It does latch that it has changed tho right ? So if presence detect hasn't changed, we can assume it's an error and not an unplug ? We could discriminate that way to reduce the risk of doing a recovery without unbind on something that was actually removed and replaced. Cheers, Ben.