Decode kernel operation can also change vga refcount, so we need to read back
the information when calling it.

Signed-off-by: Tiago Vignatti <[email protected]>
---
 src/common_vgaarb.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/common_vgaarb.c b/src/common_vgaarb.c
index f09d513..c94b362 100644
--- a/src/common_vgaarb.c
+++ b/src/common_vgaarb.c
@@ -263,6 +263,13 @@ pci_device_vgaarb_decodes(int new_vgaarb_rsrc)
     ret = vgaarb_write(pci_sys->vgaarb_fd, buf, len);
     if (ret == 0)
         dev->vgaarb_rsrc = new_vgaarb_rsrc;
+
+    ret = read(pci_sys->vgaarb_fd, buf, BUFSIZE);
+    if (ret <= 0)
+        return -1;
+
+    parse_string_to_decodes_rsrc(buf, &pci_sys->vga_count, NULL);
+
     return ret;
 }
 
-- 
1.7.1.226.g770c5

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to