[Spice-devel] [PATCHv2 qxl-win] miniport: fix broken support for revision 2

Alon Levy alevy at redhat.com
Wed Aug 3 08:20:46 PDT 2011


RHBZ: 727886

The io port range test was too large, requiring support for the
new io ports introduced in revision 3. The purpose was just the opposite,
to only require the revision 2 range, and use the revision 3 range only
if the device claims revision 3.

Fix by checking that either
 rev == 2 && io range contains 2
 rev > 2 && io range contains 3
---
 miniport/qxl.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/miniport/qxl.c b/miniport/qxl.c
index 4271104..40e8379 100644
--- a/miniport/qxl.c
+++ b/miniport/qxl.c
@@ -180,7 +180,10 @@ VP_STATUS InitIO(QXLExtension *dev, PVIDEO_ACCESS_RANGE range)
     PAGED_CODE();
     DEBUG_PRINT((dev, 0, "%s\n", __FUNCTION__));
 
-    if (range->RangeLength < QXL_IO_RANGE_SIZE
+    if ((dev->pci_revision == QXL_REVISION_STABLE_V06 &&
+         range->RangeLength < QXL_IO_DESTROY_ALL_SURFACES + 1)
+        || (dev->pci_revision > QXL_REVISION_STABLE_V06 &&
+         range->RangeLength < QXL_IO_FLUSH_RELEASE + 1)
         || !range->RangeInIoSpace) {
         DEBUG_PRINT((dev, 0, "%s: bad io range\n", __FUNCTION__));
         return ERROR_INVALID_DATA;
-- 
1.7.6



More information about the Spice-devel mailing list