On Fri, Sep 14, 2012 at 4:40 PM, Chris Wilson chris@chris-wilson.co.uk wrote:
On Fri, 14 Sep 2012 16:37:53 -0400, Kristian Høgsberg krh@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.
Argh, yes, I copy and pasted that from drm_intel_gem_bo_flink() but edited it away later... with that change, can I add your reviewed-by and commit?
Kristian