summaryrefslogtreecommitdiffstats
path: root/gralloc.c
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2011-07-30 16:31:24 +0900
committerChia-I Wu <olvaffe@gmail.com>2011-07-30 16:37:56 +0900
commit1db540381c30f11ecb87995f8bb7e1ee0a3f1b9c (patch)
tree5bd288108d9a2d6dc43b5048f62738f64d6778b4 /gralloc.c
parent92eac93723361ff4f28c6b341edbb2658c09f099 (diff)
downloadexternal_drm_gralloc-1db540381c30f11ecb87995f8bb7e1ee0a3f1b9c.zip
external_drm_gralloc-1db540381c30f11ecb87995f8bb7e1ee0a3f1b9c.tar.gz
external_drm_gralloc-1db540381c30f11ecb87995f8bb7e1ee0a3f1b9c.tar.bz2
make sure the driver is initialized before registering
Diffstat (limited to 'gralloc.c')
-rw-r--r--gralloc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gralloc.c b/gralloc.c
index e134e81..0cf63e5 100644
--- a/gralloc.c
+++ b/gralloc.c
@@ -115,6 +115,11 @@ static int drm_mod_register_buffer(const gralloc_module_t *mod,
buffer_handle_t handle)
{
struct drm_module_t *dmod = (struct drm_module_t *) mod;
+ int err;
+
+ err = drm_init(dmod, 0);
+ if (err)
+ return err;
return (gralloc_drm_bo_register(dmod->drm, handle, 1)) ? 0 : -EINVAL;
}
@@ -124,6 +129,11 @@ static int drm_mod_unregister_buffer(const gralloc_module_t *mod,
{
struct drm_module_t *dmod = (struct drm_module_t *) mod;
struct gralloc_drm_bo_t *bo;
+ int err;
+
+ err = drm_init(dmod, 0);
+ if (err)
+ return err;
bo = gralloc_drm_bo_validate(dmod->drm, handle);
if (!bo)