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

[Xen-changelog] [xen stable-4.2] VTD: Remove the check for reserved device scope type



commit 9990231d0d5abf48574f8ec3d2464e2e3da98891
Author:     Yang Zhang <yang.z.zhang@xxxxxxxxx>
AuthorDate: Thu Aug 15 09:14:11 2013 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Aug 15 09:14:11 2013 +0200

    VTD: Remove the check for reserved device scope type
    
    Though we only have four valid types now, the new type may be added in 
future.
    It's better to remove the check and only deal with the type that we can
    recognize.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@xxxxxxxxx>
    Signed-off-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx>
    Acked-by: Keir Fraser <keir@xxxxxxx>
    
    Add log message for this case.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    master commit: 749bc93f7a1ad47640cc7876d27641e98a08bf61
    master date: 2013-04-16 10:36:05 +0200
---
 xen/drivers/passthrough/vtd/dmar.c |   10 ++++++++--
 xen/include/acpi/actbl2.h          |    1 -
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c 
b/xen/drivers/passthrough/vtd/dmar.c
index a88f46b..464c14a 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -255,8 +255,7 @@ static int __init scope_device_count(const void *start, 
const void *end)
     while ( start < end )
     {
         scope = start;
-        if ( (scope->length < MIN_SCOPE_LEN) ||
-             (scope->entry_type >= ACPI_DMAR_SCOPE_TYPE_RESERVED) )
+        if ( scope->length < MIN_SCOPE_LEN )
         {
             dprintk(XENLOG_WARNING VTDPREFIX, "Invalid device scope.\n");
             return -EINVAL;
@@ -367,6 +366,13 @@ static int __init acpi_parse_dev_scope(
             }
 
             break;
+
+        default:
+            if ( iommu_verbose )
+                printk(XENLOG_WARNING VTDPREFIX "Unknown scope type %#x\n",
+                       acpi_scope->entry_type);
+            start += acpi_scope->length;
+            continue;
         }
         scope->devices[didx++] = PCI_BDF(bus, path->dev, path->fn);
         start += acpi_scope->length;
diff --git a/xen/include/acpi/actbl2.h b/xen/include/acpi/actbl2.h
index a28226a..87bc6b3 100644
--- a/xen/include/acpi/actbl2.h
+++ b/xen/include/acpi/actbl2.h
@@ -303,7 +303,6 @@ enum acpi_dmar_scope_type {
        ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2,
        ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3,
        ACPI_DMAR_SCOPE_TYPE_HPET = 4,
-       ACPI_DMAR_SCOPE_TYPE_RESERVED = 5       /* 5 and greater are reserved */
 };
 
 struct acpi_dmar_pci_path {
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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