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

[Xen-devel] [PATCH] VT-d/RMRR: Adjust the return values of register_one_rmrr()



Adjust/manage the return values of register_one_rmrr() such that new
callers log errors for non-debug builds too, while not affecting the
behavior of original callers.

Signed-off-by: Venu Busireddy <venu.busireddy@xxxxxxxxxx>
---
 xen/drivers/passthrough/vtd/dmar.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c 
b/xen/drivers/passthrough/vtd/dmar.c
index 7c12b17..b5baa7f 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -619,6 +619,7 @@ static int register_one_rmrr(struct acpi_rmrr_unit *rmrru)
                 rmrru->base_address, rmrru->end_address);
         scope_devices_free(&rmrru->scope);
         xfree(rmrru);
+        return 1;
     }
     else if ( rmrru->base_address > rmrru->end_address )
     {
@@ -840,13 +841,13 @@ static int __init acpi_parse_dmar(struct 
acpi_table_header *table)
                     entry_header->type);
             break;
         }
-        if ( ret )
+        if ( ret < 0 )
             break;
 
         entry_header = ((void *)entry_header + entry_header->length);
     }
 
-    if ( ret )
+    if ( ret < 0 )
     {
         printk(XENLOG_WARNING
                "Failed to parse ACPI DMAR.  Disabling VT-d.\n");
@@ -856,7 +857,7 @@ static int __init acpi_parse_dmar(struct acpi_table_header 
*table)
 out:
     /* Zap ACPI DMAR signature to prevent dom0 using vt-d HW. */
     acpi_dmar_zap();
-    return ret;
+    return ret < 0 ? ret : 0;
 }
 
 #define MAX_USER_RMRR_PAGES 16

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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