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

[win-pv-devel] [PATCH v2 for 8.1] Don't treat a missing Driver key as a hard failure



When looking to see whether an incumbent child driver will patch the
PDO names created by the new version of XENVIF, ignore any cases where
we find that the Driver key referenced in the Device key is actually
missing.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
 src/coinst/coinst.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

This needs to be back-ported to 8.1.

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
index 406fcae..825ba38 100644
--- a/src/coinst/coinst.c
+++ b/src/coinst/coinst.c
@@ -817,23 +817,24 @@ SupportChildDrivers(
 
         Success = OpenDriverKey(DriverKeyName, &DriverKey);
         if (!Success)
-            goto fail7;
+            goto loop;
 
         Success = GetMatchingDeviceID(DriverKey, &MatchingDeviceID);
         if (!Success)
-            goto fail8;
+            goto fail7;
 
         Success = SupportDeviceID(MatchingDeviceID);
         if (!Success)
-            goto fail9;
+            goto fail8;
 
         free(MatchingDeviceID);
 
         RegCloseKey(DriverKey);
 
-        free(DriverKeyName);
-
     loop:
+        if (DriverKeyName != NULL)
+            free(DriverKeyName);
+
         RegCloseKey(DeviceKey);
     }
 
@@ -846,19 +847,16 @@ done:
 
     return TRUE;
 
-fail9:
-    Log("fail9");
-
-    free(MatchingDeviceID);
-
 fail8:
     Log("fail8");
 
-    RegCloseKey(DriverKey);
+    free(MatchingDeviceID);
 
 fail7:
     Log("fail7");
 
+    RegCloseKey(DriverKey);
+
     free(DriverKeyName);
 
 fail6:
-- 
2.1.1


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


 


Rackspace

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