On Tue, Feb 12, 2019 at 09:30:31AM +0100, Lukas Wunner wrote:
> Instead of modifying the logic in pciehp_handle_presence_or_link_change(),
> you could amend pcie_wait_for_link() to poll PDS until it's set, in
> addition to DLLLA.  The rationale would be that although the link is up,
> the hot-added device cannot really be considered accessible until PDS
> is also set.  Unfortunately we cannot do this for all devices because
> (as I've said before), some broken devices hardwire PDS to zero.  But
> it should be safe to constrain it to those which can disable in-band
> presence.

An alternative approach would of course be to only enable one of PDC or
DLLSC events if in-band presence is disabled.  In the case of DLLSC,
you'd also need to modify pciehp_reset_slot() in addition to
pcie_enable_notification().

Thanks,

Lukas

Reply via email to