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.
Can you write a patch fixing the problem, and submit it to the xorg-devel mailing list for review?
Just send a review mail to xorg-devel mailing list.
Thanks for the fix, Emily! commit 88820f1c7b66cbc98d3f19efca24c9f52410d9f9 Author: Emily Deng <Emily.Deng@amd.com> Date: Mon Jul 25 16:12:53 2016 +0800 xfree86: vgaarb: Initialize local variable rsrc_decodes
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.