Do not import multi-plane DMABUF. 99/30499/4
authorTakanari Hayama <taki@igel.co.jp>
Fri, 8 Aug 2014 01:53:28 +0000 (10:53 +0900)
committerTony SIM <chinyeow.sim.xt@renesas.com>
Thu, 18 Dec 2014 09:39:32 +0000 (01:39 -0800)
This is a workaround to avoid crash in the kernel.

Change-Id: Ic57df6ea3fe4a74b6e881cf339e598ddd41d52d0
Signed-off-by: Tony SIM <chinyeow.sim.xt@renesas.com>
wayland-kms.c

index 5356cbe..2ea3a8d 100644 (file)
@@ -187,7 +187,7 @@ kms_create_mp_buffer(struct wl_client *client, struct wl_resource *resource,
        WLKMS_DEBUG("%s: %s: %d planes (%d, %d, %d)\n", __FILE__, __func__, nplanes, fd0, fd1, fd2);
 
        // XXX: Do we need to support multiplaner KMS BO?
-       if ((err = drmPrimeFDToHandle(kms->fd, fd0, &buffer->handle))) {
+       if ((nplanes == 1) && (err = drmPrimeFDToHandle(kms->fd, fd0, &buffer->handle))) {
                WLKMS_DEBUG("%s: %s: drmPrimeFDToHandle() failed...%d (%s)\n", __FILE__, __func__, err, strerror(errno));
                wl_resource_post_error(resource,
                                       WL_KMS_ERROR_INVALID_FD,