derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8067b0146a4e27f2b2550dc9d0029a86bbf7b566
commit 8067b0146a4e27f2b2550dc9d0029a86bbf7b566 Author: Derek Foreman <der...@osg.samsung.com> Date: Mon May 8 14:38:45 2017 -0500 ecore_drm2: Fix dmabuf fb destroy I missed the fact that it'd run through the existing non-gbm path on destroy, resulting in a (probably harmless) bad ioctl --- src/lib/ecore_drm2/ecore_drm2_fb.c | 3 ++- src/lib/ecore_drm2/ecore_drm2_private.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c index ea20bb2..5de93f8 100644 --- a/src/lib/ecore_drm2/ecore_drm2_fb.c +++ b/src/lib/ecore_drm2/ecore_drm2_fb.c @@ -149,7 +149,7 @@ ecore_drm2_fb_destroy(Ecore_Drm2_Fb *fb) if (fb->id) sym_drmModeRmFB(fb->fd, fb->id); - if (!fb->gbm) + if (!fb->gbm && !fb->dmabuf) { drm_mode_destroy_dumb darg; @@ -608,6 +608,7 @@ ecore_drm2_fb_dmabuf_import(int fd, int width, int height, int depth, int bpp, u if (sym_drmPrimeFDToHandle(fd, dmabuf_fd[i], &fb->handles[i])) goto fail; + fb->dmabuf = EINA_TRUE; fb->fd = fd; fb->w = width; fb->h = height; diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h index 860bb70..1b82ad5 100644 --- a/src/lib/ecore_drm2/ecore_drm2_private.h +++ b/src/lib/ecore_drm2/ecore_drm2_private.h @@ -702,6 +702,7 @@ struct _Ecore_Drm2_Fb void *gbm_bo; Eina_Bool gbm : 1; + Eina_Bool dmabuf : 1; Eina_Bool busy : 1; void *mmap; --