• Sricharan R's avatar
    iommu/of: Ignore all errors except EPROBE_DEFER · a37b19a3
    Sricharan R authored
    While deferring the probe of IOMMU masters, xlate and
    add_device callbacks called from of_iommu_configure
    can pass back error values like -ENODEV, which means
    the IOMMU cannot be connected with that master for real
    reasons. Before the IOMMU probe deferral, all such errors
    were ignored. Now all those errors are propagated back,
    killing the master's probe for such errors. Instead ignore
    all the errors except EPROBE_DEFER, which is the only one
    of concern and let the master work without IOMMU, thus
    restoring the old behavior. Also make explicit that
    of_dma_configure handles only -EPROBE_DEFER from
    of_iommu_configure.
    
    Fixes: 7b07cbef ("iommu: of: Handle IOMMU lookup failure with deferred probing or error")
    Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Tested-by: default avatarMagnus Damn <magnus.damn@gmail.com>
    Signed-off-by: default avatarSricharan R <sricharan@codeaurora.org>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    a37b19a3
of_iommu.c 7.1 KB