On 08/03/2011 06:20 PM, Alon Levy wrote:
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;
ack
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to