return ret;
 }
 
-static void _load_pasid(void *unused)
-{
-       update_pasid();
-}
-
-static void load_pasid(struct mm_struct *mm, u32 pasid)
-{
-       mutex_lock(&mm->context.lock);
-
-       /* Update PASID MSR on all CPUs running the mm's tasks. */
-       on_each_cpu_mask(mm_cpumask(mm), _load_pasid, NULL, true);
-
-       mutex_unlock(&mm->context.lock);
-}
-
 static int intel_svm_alloc_pasid(struct device *dev, struct mm_struct *mm,
                                 unsigned int flags)
 {
        if (ret)
                goto free_sdev;
 
-       /* The newly allocated pasid is loaded to the mm. */
-       if (!(flags & SVM_FLAG_SUPERVISOR_MODE) && list_empty(&svm->devs))
-               load_pasid(mm, svm->pasid);
-
        list_add_rcu(&sdev->list, &svm->devs);
 success:
        return &sdev->sva;
                        kfree_rcu(sdev, rcu);
 
                        if (list_empty(&svm->devs)) {
-                               if (svm->notifier.ops) {
+                               if (svm->notifier.ops)
                                        mmu_notifier_unregister(&svm->notifier, mm);
-                                       /* Clear mm's pasid. */
-                                       load_pasid(mm, PASID_DISABLED);
-                               }
                                pasid_private_remove(svm->pasid);
                                /* We mandate that no page faults may be outstanding
                                 * for the PASID when intel_svm_unbind_mm() is called.