]> xenbits.xensource.com Git - pvdrivers/win/xenbus.git/commit
Skip stale device config when checking child compatibility
authorOwen Smith <owen.smith@citrix.com>
Thu, 17 Jun 2021 12:33:52 +0000 (13:33 +0100)
committerPaul Durrant <pdurrant@amazon.com>
Mon, 21 Jun 2021 14:05:51 +0000 (15:05 +0100)
commit16c8ad0c446eded7246cc5f3d72de0bc3ff7baf5
tree7211242b6433c4a6be393e5df160f8a71b55d1e8
parentbfcf8f78ccdc37b44fb8a9c2ae81f719e8343db1
Skip stale device config when checking child compatibility

When a device is updated, the Enum key for the old binding is not deleted.
This can lead to a device binding that is not in use (has been replaced by
a later binding) triggering the coinstaller to fail the upgrade to a newer
version. This is especially prevelent when the older stale information was
bound to a revision that is not present in the new driver INF file.

This fix ignores the stale entries under the Enum key when performing the
compatibility checks.

e.g.
tag 8.2.1 has 0x08000009 to 0x08000009 for its bindings
tag 9.0.0 has 0x08000009 to 0x09000007 for its bindings
commit a9631142d0be removed v8 revisions, leaving only 0x0900000x revisions
It should be possible to upgrade from tag 8.2.1 to tag 9.0.0 and then to
commits after a9631142d0be. At each stage of this upgrade, the revisions
overlap, even if the initial and end revisions do not have an overlap.
It is not possible to upgrade directly from tag 8.2.1 to commit a9631142d0be,
as there is no common revision that can be used.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/coinst/coinst.c