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

[win-pv-devel] [PATCH] Revert "Relax check for new bindings"

This reverts commit 4bfef97168df986ac302f6892ed8c38f81c0b432.

Windows 10 will cleanup the Enum keys and attempt to reinstall child devices
when the parent device's Hardware Id is changed and/or the DeviceId list or
Compatible Id list is changed.
Revert to the previous behaviour that can trigger multiple reboots, if the
unplug keys are removed after the child device has rebound to the parent's PDO.

 src/coinst/coinst.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
index a5b7a0b..c1c5f17 100644
--- a/src/coinst/coinst.c
+++ b/src/coinst/coinst.c
@@ -1003,7 +1003,6 @@ SupportDeviceID(
     unsigned int    Revision;
     int             Count;
     DWORD           Index;
-    DWORD           LatestRevision;
     HRESULT         Error;
     DeviceID = strrchr(DeviceID, '&');
@@ -1027,10 +1026,9 @@ SupportDeviceID(
     goto fail2;
-    // If major part of the child device's revision does not match the major
-    // part of the latest revision then it means the driver binding will 
-    LatestRevision = DeviceRevision[ARRAYSIZE(DeviceRevision) - 1];
-    if ((Revision & 0xFF000000) != (LatestRevision & 0xFF000000))
+    // If we don't match the latest revision then it means the driver
+    // binding will change.
+    if (Index < ARRAYSIZE(DeviceRevision) - 1)
         *NewBinding = TRUE;
     Log("%x", Revision);

win-pv-devel mailing list



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