iommu/amd: Fix PPR interrupt processing logic
authorVasant Hegde <vasant.hegde@amd.com>
Thu, 18 Apr 2024 10:33:50 +0000 (10:33 +0000)
committerJoerg Roedel <jroedel@suse.de>
Fri, 26 Apr 2024 10:15:59 +0000 (12:15 +0200)
commit7c5b7176f0c3996adbe853adb1f857bd4f82b1e2
treef5487a0ff900c7a57657524819d9aecb286b07b4
parente08fcd901c4301c150a8212df28df7f4d4811988
iommu/amd: Fix PPR interrupt processing logic

* Do not re-read ppr head pointer as its just updated by the driver.

* Do not read PPR buffer tail pointer inside while loop. If IOMMU
  generates PPR events continuously then completing interrupt processing
  takes long time. In worst case it may cause infinite loop.

Suggested-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20240418103400.6229-6-vasant.hegde@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/ppr.c