]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - lib/iommu-common.c
Merge remote-tracking branch 'sparc/master'
[karo-tx-linux.git] / lib / iommu-common.c
index 0f2c887be7703f11b38d15a01f5e75aaf8660157..858dc1aae478bad9cb30275cb7fd7905d73f6ede 100644 (file)
@@ -17,8 +17,7 @@ static        DEFINE_PER_CPU(unsigned int, iommu_hash_common);
 
 static inline bool need_flush(struct iommu_map_table *iommu)
 {
-       return (iommu->lazy_flush != NULL &&
-               (iommu->flags & IOMMU_NEED_FLUSH) != 0);
+       return ((iommu->flags & IOMMU_NEED_FLUSH) != 0);
 }
 
 static inline void set_flush(struct iommu_map_table *iommu)
@@ -207,7 +206,8 @@ unsigned long iommu_tbl_range_alloc(struct device *dev,
                        goto bail;
                }
        }
-       if (n < pool->hint || need_flush(iommu)) {
+       if (iommu->lazy_flush &&
+           (n < pool->hint || need_flush(iommu))) {
                clear_flush(iommu);
                iommu->lazy_flush(iommu);
        }