summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmily Deng <Emily.Deng@amd.com>2016-07-25 16:12:53 +0800
committerAdam Jackson <ajax@redhat.com>2016-08-15 12:30:39 -0400
commit88820f1c7b66cbc98d3f19efca24c9f52410d9f9 (patch)
tree231b717894cd9b34b4f6d17db5a1794cbb0c7da7
parentfa2bc06407665ee074f5914d0f83d4114b20fc8e (diff)
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@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
-rw-r--r--hw/xfree86/common/xf86VGAarbiter.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/xfree86/common/xf86VGAarbiter.c b/hw/xfree86/common/xf86VGAarbiter.c
index 29a5f8512..40f241aee 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)