• Chris Wright's avatar
    x86/amd-iommu: enable iommu before attaching devices · 75f66533
    Chris Wright authored
    Hit another kdump problem as reported by Neil Horman.  When initializaing
    the IOMMU, we attach devices to their domains before the IOMMU is
    fully (re)initialized.  Attaching a device will issue some important
    invalidations.  In the context of the newly kexec'd kdump kernel, the
    IOMMU may have stale cached data from the original kernel.  Because we
    do the attach too early, the invalidation commands are placed in the new
    command buffer before the IOMMU is updated w/ that buffer.  This leaves
    the stale entries in the kdump context and can renders device unusable.
    Simply enable the IOMMU before we do the attach.
    
    Cc: stable@kernel.org
    Cc: Neil Horman <nhorman@tuxdriver.com>
    Cc: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
    Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
    75f66533
amd_iommu_init.c 35.1 KB