On Fri, 14 Sep 2012 16:37:53 -0400, Kristian H??gsberg <krh at bitplanet.net> 
wrote:
> It's the same situation as flink and we need take the same pre-cautions.
> ---
>  intel/intel_bufmgr_gem.c |    8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
> index 3bcc849..92c0444 100644
> --- a/intel/intel_bufmgr_gem.c
> +++ b/intel/intel_bufmgr_gem.c
> @@ -2472,8 +2472,14 @@ drm_intel_bo_gem_export_to_prime(drm_intel_bo *bo, int 
> *prime_fd)
>  {
>       drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
>       drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
> +     int ret;
>  
> -     return drmPrimeHandleToFD(bufmgr_gem->fd, bo_gem->gem_handle, 
> DRM_CLOEXEC, prime_fd);
> +     ret = drmPrimeHandleToFD(bufmgr_gem->fd, bo_gem->gem_handle,
> +                              DRM_CLOEXEC, prime_fd);
> +     if (ret == 0)
> +             bo_gem->reusable = false;

Now that you mention it... 
To be consistent with libdrm_intel, we should return -errno on error; so
rephrasing this as
  if (ret)
    return -errno;

  bo_gem->reusable = false;
  return 0;

would work better.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

Reply via email to