iommu/amd/iommu_v2: Clear pasid state in free path
authorVasant Hegde <vasant.hegde@amd.com>
Fri, 9 Jun 2023 10:51:46 +0000 (10:51 +0000)
committerJoerg Roedel <jroedel@suse.de>
Fri, 14 Jul 2023 14:16:44 +0000 (16:16 +0200)
Clear pasid state in device amd_iommu_free_device() path. It will make
sure no new ppr notifier is registered in free path.

Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Link: https://lore.kernel.org/r/20230609105146.7773-3-vasant.hegde@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/iommu_v2.c

index 65d78d7..c5825e0 100644 (file)
@@ -327,6 +327,9 @@ static void free_pasid_states(struct device_state *dev_state)
 
                put_pasid_state(pasid_state);
 
+               /* Clear the pasid state so that the pasid can be re-used */
+               clear_pasid_state(dev_state, pasid_state->pasid);
+
                /*
                 * This will call the mn_release function and
                 * unbind the PASID