[libdrm]: drmOpen failed issue

Jet Chen jet.chen at intel.com
Mon Oct 27 22:02:35 PDT 2014


Hello,

I find a drmOpen failed issue in our system as below description:

platform: 	ivy-bridge
OS: 		Ubuntu12.04 LTS
kernel:		3.13.0-32-generic
libdrm:		libdrm-2.4.46

root at tchen37-ivb:/home/tchen37/ws/lib3app/utests# ./test_osd
DRM_IOCTL_I915_GEM_APERTURE failed: Bad file descriptor
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [9]
param: 4, val: 0
Segmentation fault (core dumped)

by debugging libdrm code, I find following changes resolve the problem

diff --git a/xf86drm.c b/xf86drm.c
index 4791a05..3c7c362 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -562,7 +562,7 @@ static int drmOpenByName(const char *name)
                     drmFreeVersion(version);
                     id = drmGetBusid(fd);
                     drmMsg("drmGetBusid returned '%s'\n", id ? id : "NULL");
-                   if (!id || !*id) {
+                   if (id || *id) {
                         if (id)
                             drmFreeBusid(id);
                         return fd;

I know I'm not using the latest version of libdrm, but I confirm that latest code remains same for this scenario.

Is it possible a bug of libdrm?

Thanks,
-Jet


More information about the dri-devel mailing list