diff options
author | Rob Clark | 2013-05-17 15:13:02 -0500 |
---|---|---|
committer | Rob Clark | 2013-05-17 15:13:02 -0500 |
commit | 3586337f3703ce4833a375f66b08df064a1cec28 (patch) | |
tree | e7551e300c411563a4af7beee3e24383d9359b75 /freedreno/freedreno_bo.c | |
parent | acfbf394a9176ea97f114ca6c0eb8249a2220e82 (diff) | |
download | external-libdrm-3586337f3703ce4833a375f66b08df064a1cec28.tar.gz external-libdrm-3586337f3703ce4833a375f66b08df064a1cec28.tar.xz external-libdrm-3586337f3703ce4833a375f66b08df064a1cec28.zip |
freedreno: also remove from name table on bo delete
When adding the name tracking, I missed removing from the name table
when the bo was deleted, leaving a dangling pointer.
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Diffstat (limited to 'freedreno/freedreno_bo.c')
-rw-r--r-- | freedreno/freedreno_bo.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/freedreno/freedreno_bo.c b/freedreno/freedreno_bo.c index f52ce5ea..8f78432b 100644 --- a/freedreno/freedreno_bo.c +++ b/freedreno/freedreno_bo.c | |||
@@ -247,6 +247,8 @@ void fd_bo_del(struct fd_bo *bo) | |||
247 | }; | 247 | }; |
248 | pthread_mutex_lock(&table_lock); | 248 | pthread_mutex_lock(&table_lock); |
249 | drmHashDelete(bo->dev->handle_table, bo->handle); | 249 | drmHashDelete(bo->dev->handle_table, bo->handle); |
250 | if (bo->name) | ||
251 | drmHashDelete(bo->dev->name_table, bo->name); | ||
250 | drmIoctl(bo->dev->fd, DRM_IOCTL_GEM_CLOSE, &req); | 252 | drmIoctl(bo->dev->fd, DRM_IOCTL_GEM_CLOSE, &req); |
251 | pthread_mutex_unlock(&table_lock); | 253 | pthread_mutex_unlock(&table_lock); |
252 | } | 254 | } |