Request authentication of itself. 85/30485/4
authorTakanari Hayama <taki@igel.co.jp>
Tue, 17 Dec 2013 07:26:38 +0000 (16:26 +0900)
committerTony SIM <chinyeow.sim.xt@renesas.com>
Thu, 18 Dec 2014 09:34:44 +0000 (01:34 -0800)
Change-Id: I4a9e9d573cbbe170bd56824b695cc4b2a0f544b5
Signed-off-by: Tony SIM <chinyeow.sim.xt@renesas.com>
wayland-kms.c

index 092a04e..fbe6532 100644 (file)
@@ -240,13 +240,25 @@ struct wl_kms *wayland_kms_init(struct wl_display *display,
         * request to our server.
         */
        if (server) {
-               if (!(kms->auth = kms_auth_init(server))) {
-                       free(kms);
-                       kms = NULL;
-               }
+               drm_magic_t magic;
+
+               if (!(kms->auth = kms_auth_init(server)))
+                       goto error;
+
+               /* get a magic */
+               if (drmGetMagic(fd, &magic) < 0)
+                       goto error;
+
+               /* authenticate myself */
+               if (kms_auth_request(kms->auth, magic) < 0)
+                       goto error;
        }
 
        return kms;
+
+error:
+       free(kms);
+       return NULL;
 }
 
 void wayland_kms_uninit(struct wl_kms *kms)