@@ -209,11 +209,9 @@ static void intel_mm_release(struct mmu_notifier *mn, struct mm_struct *mm)
209
209
* *has* to handle gracefully without affecting other processes.
210
210
*/
211
211
rcu_read_lock ();
212
- list_for_each_entry_rcu (sdev , & svm -> devs , list ) {
212
+ list_for_each_entry_rcu (sdev , & svm -> devs , list )
213
213
intel_pasid_tear_down_entry (svm -> iommu , sdev -> dev ,
214
214
svm -> pasid , true);
215
- intel_flush_svm_range_dev (svm , sdev , 0 , -1 , 0 );
216
- }
217
215
rcu_read_unlock ();
218
216
219
217
}
@@ -403,7 +401,6 @@ int intel_svm_unbind_gpasid(struct device *dev, int pasid)
403
401
intel_pasid_tear_down_entry (iommu , dev ,
404
402
svm -> pasid , false);
405
403
intel_svm_drain_prq (dev , svm -> pasid );
406
- intel_flush_svm_range_dev (svm , sdev , 0 , -1 , 0 );
407
404
kfree_rcu (sdev , rcu );
408
405
409
406
if (list_empty (& svm -> devs )) {
@@ -643,7 +640,6 @@ int intel_svm_unbind_mm(struct device *dev, int pasid)
643
640
intel_pasid_tear_down_entry (iommu , dev ,
644
641
svm -> pasid , false);
645
642
intel_svm_drain_prq (dev , svm -> pasid );
646
- intel_flush_svm_range_dev (svm , sdev , 0 , -1 , 0 );
647
643
kfree_rcu (sdev , rcu );
648
644
649
645
if (list_empty (& svm -> devs )) {
0 commit comments