summaryrefslogtreecommitdiff
path: root/x11-drivers/xf86-video-intel/files/patch-src_sna_kgem.c
blob: f71962e56a63527429c1e6006af81a059758bfd2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
--- src/sna/kgem.c.orig	2021-01-15 20:59:05 UTC
+++ src/sna/kgem.c
@@ -1189,13 +1189,18 @@ static int gem_param(struct kgem *kgem, int name)
 static bool test_has_execbuffer2(struct kgem *kgem)
 {
 	struct drm_i915_gem_execbuffer2 execbuf;
+	int ret;
 
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffer_count = 1;
 
-	return do_ioctl(kgem->fd,
-			 DRM_IOCTL_I915_GEM_EXECBUFFER2,
-			 &execbuf) == -EFAULT;
+	ret = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+#ifdef __FreeBSD__
+	/* XXX FreeBSD returns ENOENT instead of EFAULT. */
+	if (ret == -ENOENT)
+		return true;
+#endif
+	return ret == -EFAULT;
 }
 
 static bool test_has_no_reloc(struct kgem *kgem)