]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iommu/vt-d: Remove the pasid present check in prq_event_thread
authorKlaus Jensen <k.jensen@samsung.com>
Mon, 4 Nov 2024 01:40:35 +0000 (09:40 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 5 Nov 2024 12:32:25 +0000 (13:32 +0100)
PASID is not strictly needed when handling a PRQ event; remove the check
for the pasid present bit in the request. This change was not included
in the creation of prq.c to emphasize the change in capability checks
when handing PRQ events.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Joel Granados <joel.granados@kernel.org>
Link: https://lore.kernel.org/r/20241015-jag-iopfv8-v4-2-b696ca89ba29@kernel.org
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel/prq.c

index edda5da8ba159d2c835791a566fc963ce1631560..621cd26504b36c974d80aa1ebc87aae02eb87656 100644 (file)
@@ -222,20 +222,14 @@ static irqreturn_t prq_event_thread(int irq, void *d)
                req = &iommu->prq[head / sizeof(*req)];
                address = (u64)req->addr << VTD_PAGE_SHIFT;
 
-               if (unlikely(!req->pasid_present)) {
-                       pr_err("IOMMU: %s: Page request without PASID\n",
+               if (unlikely(!is_canonical_address(address))) {
+                       pr_err("IOMMU: %s: Address is not canonical\n",
                               iommu->name);
 bad_req:
                        handle_bad_prq_event(iommu, req, QI_RESP_INVALID);
                        goto prq_advance;
                }
 
-               if (unlikely(!is_canonical_address(address))) {
-                       pr_err("IOMMU: %s: Address is not canonical\n",
-                              iommu->name);
-                       goto bad_req;
-               }
-
                if (unlikely(req->pm_req && (req->rd_req | req->wr_req))) {
                        pr_err("IOMMU: %s: Page request in Privilege Mode\n",
                               iommu->name);