• Sam Bobroff's avatar
    powerpc/eeh: Improve recovery of passed-through devices · 1ef52073
    Sam Bobroff authored
    Currently, the EEH recovery process considers passed-through devices
    as if they were not EEH-aware, which can cause them to be removed as
    part of recovery.  Because device removal requires cooperation from
    the guest, this may lead to the process stalling or deadlocking.
    Also, if devices are removed on the host side, they will be removed
    from their IOMMU group, making recovery in the guest impossible.
    
    Therefore, alter the recovery process so that passed-through devices
    are not removed but are instead left frozen (and marked isolated)
    until the guest performs it's own recovery.  If firmware thaws a
    passed-through PE because it's parent PE has been thawed (because it
    was not passed through), re-freeze it.
    Signed-off-by: default avatarSam Bobroff <sbobroff@linux.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    1ef52073
eeh.c 48.5 KB