minigbm: increment ref count in drv_bo_import
increment the reference count of gem handle in
drv_bo_import instead of backend.
BUG=b:111378370
TEST=graphics autotest suite
Change-Id: I68bc64e421f8505be5cd46874f02ab5c32805f04
Signed-off-by: Satyajit Sahu <satyajit.sahu@amd.com>
Reviewed-on: https://chromium-review.googlesource.com/1134720
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
diff --git a/drv.c b/drv.c
index bc1f782..0976404 100644
--- a/drv.c
+++ b/drv.c
@@ -361,6 +361,12 @@
}
for (plane = 0; plane < bo->num_planes; plane++) {
+ pthread_mutex_lock(&bo->drv->driver_lock);
+ drv_increment_reference_count(bo->drv, bo, plane);
+ pthread_mutex_unlock(&bo->drv->driver_lock);
+ }
+
+ for (plane = 0; plane < bo->num_planes; plane++) {
bo->strides[plane] = data->strides[plane];
bo->offsets[plane] = data->offsets[plane];
bo->format_modifiers[plane] = data->format_modifiers[plane];
diff --git a/helpers.c b/helpers.c
index 4fabfa9..def8475 100644
--- a/helpers.c
+++ b/helpers.c
@@ -368,12 +368,6 @@
bo->handles[plane].u32 = prime_handle.handle;
}
- for (plane = 0; plane < bo->num_planes; plane++) {
- pthread_mutex_lock(&bo->drv->driver_lock);
- drv_increment_reference_count(bo->drv, bo, plane);
- pthread_mutex_unlock(&bo->drv->driver_lock);
- }
-
return 0;
}