From 712268730ec05897a6add995444123ac2af54382 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Wed, 2 Oct 2019 17:13:06 +0300 Subject: [PATCH] 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 generation 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 Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1860 Cc: Fixes: 96e1c945f2 ("i965: Move device info initialization to common code") --- 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; -- 2.22.0