diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c index 0c253f1c852efbc0b756af650d70d38a9ef719f7..4ae7388b1bff47105ce881e4b3d69c1316f12713 100644 --- a/arch/sparc/kernel/iommu.c +++ b/arch/sparc/kernel/iommu.c @@ -748,11 +748,9 @@ static int dma_4u_supported(struct device *dev, u64 device_mask) if (ali_sound_dma_hack(dev, device_mask)) return 1; - if (device_mask > DMA_BIT_MASK(32)) + if (device_mask < iommu->dma_addr_mask) return 0; - if ((device_mask & iommu->dma_addr_mask) == iommu->dma_addr_mask) - return 1; - return 0; + return 1; } static const struct dma_map_ops sun4u_dma_ops = {