xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Mon Aug 15 16:34:56 UTC 2016


 hw/xfree86/common/xf86VGAarbiter.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 88820f1c7b66cbc98d3f19efca24c9f52410d9f9
Author: Emily Deng <Emily.Deng at amd.com>
Date:   Mon Jul 25 16:12:53 2016 +0800

    xfree86: vgaarb: Initialize local variable rsrc_decodes
    
    In function xf86VGAarbiterScrnInit when the "pEnt->bus.type" is
    BUS_PLATFORM, the "pScrn->vgaDev" won't be set, so the "pScrn->vgaDev" is
    equal to zero.
    
    The variable "rsrc_decodes" in function "xf86VGAarbiterAllowDRI" is not
    initialized. So it will occur error when "pScrn->vgaDev == 0", and
    "vga_count > 1". For this case, as "pScrn->vgaDev == 0", the function
    "pci_device_vgaarb_get_info" will only set the value of "vga_count",
    but won't set the value of "rsrc_decodes", so it will has two different
    return values for function "xf86VGAarbiterAllowDRI" in different
    platforms. One platform will return TRUE, as the "rsrc_decodes" 's
    default value is 0, but another platform will return FALSE, as the
    "rsrc_decodes" 's default value is "32767", this will cause disable
    direct rendering.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96937
    
    Signed-off-by: Emily Deng <Emily.Deng at amd.com>
    Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

diff --git a/hw/xfree86/common/xf86VGAarbiter.c b/hw/xfree86/common/xf86VGAarbiter.c
index 29a5f85..40f241a 100644
--- a/hw/xfree86/common/xf86VGAarbiter.c
+++ b/hw/xfree86/common/xf86VGAarbiter.c
@@ -105,7 +105,7 @@ Bool
 xf86VGAarbiterAllowDRI(ScreenPtr pScreen)
 {
     int vga_count;
-    int rsrc_decodes;
+    int rsrc_decodes = 0;
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
 
     if (vga_no_arb)


More information about the xorg-commit mailing list