Mesa (master): intel: fix topology query

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 2 22:54:43 UTC 2019


Module: Mesa
Branch: master
Commit: 1c6fdbc83cf1094c735b964902da421978005cb3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c6fdbc83cf1094c735b964902da421978005cb3

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Wed Oct  2 17:13:06 2019 +0300

intel: fix topology query

i915 will report ENODEV on generations prior to Haswell because there
is no point in reporting values on those. This is prior any fusing
could happen on parts with identical PCI ids.

This query call was previously only triggered on generations that
support performance queries, which happens to match generation for
which i915 reports topology, but the commit pointed below started
using it on all generations.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1860
Cc: <mesa-stable at lists.freedesktop.org>
Fixes: 96e1c945f2 ("i965: Move device info initialization to common code")
Reviewed-by: Mark Janes <mark.a.janes at intel.com>

---

 src/intel/dev/gen_device_info.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c
index 3953a1f4af3..85fa978f9c1 100644
--- a/src/intel/dev/gen_device_info.c
+++ b/src/intel/dev/gen_device_info.c
@@ -1320,6 +1320,9 @@ query_topology(struct gen_device_info *devinfo, int fd)
    if (gen_ioctl(fd, DRM_IOCTL_I915_QUERY, &query))
       return false;
 
+   if (item.length < 0)
+      return false;
+
    struct drm_i915_query_topology_info *topo_info =
       (struct drm_i915_query_topology_info *) calloc(1, item.length);
    item.data_ptr = (uintptr_t) topo_info;




More information about the mesa-commit mailing list