[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH for-4.12] xen/iommu: fix dev assignment on ARM after 91d4eca7



Fix device assignment on ARM after 91d4eca7 "mm / iommu: split
need_iommu() into has_iommu_pt() and need_iommu_pt_sync()".

arch_iommu_populate_page_table returns -ENOSYS which causes
iommu_construct to return early, although it is not an error.

Interestingly, the if ( rc ) was present even before 91d4eca7, but it was
still working before. Now, with the new hd->status field it won't
complete the initialization successfully.

Signed-off-by: Stefano Stabellini <stefanos@xxxxxxxxxx>

diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index ac62d7f..a63329b 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -269,7 +269,7 @@ int iommu_construct(struct domain *d)
         hd->need_sync = true;
 
         rc = arch_iommu_populate_page_table(d);
-        if ( rc )
+        if ( rc != 0 && rc != -ENOSYS )
         {
             if ( rc != -ERESTART )
             {

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.