If the regions query fails then the error will be encoded in the item.length, while the ioctl will still return success. Reported-by: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> --- lib/i915/intel_memory_region.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/i915/intel_memory_region.c b/lib/i915/intel_memory_region.c index 144ae12c..e1e210f2 100644 --- a/lib/i915/intel_memory_region.c +++ b/lib/i915/intel_memory_region.c @@ -119,6 +119,13 @@ struct drm_i915_query_memory_regions *gem_get_query_memory_regions(int fd) memset(&item, 0, sizeof(item)); item.query_id = DRM_I915_QUERY_MEMORY_REGIONS; i915_query_items(fd, &item, 1); + /* + * Any DRM_I915_QUERY_MEMORY_REGIONS specific errors are encoded in the + * item.length, even though the ioctl might still return success. + */ + igt_assert_f(item.length > 0, + "DRM_I915_QUERY_MEMORY_REGIONS failed with %d\n", + item.length); query_info = calloc(1, item.length); -- 2.26.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx