From: Jonathan Gray Date: Thu, 28 Nov 2019 05:56:30 +0000 (+1100) Subject: winsys/amdgpu: avoid double simple_mtx_unlock() X-Git-Tag: android-x86-9.0-r1~141 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a26064534501fe9857252367a8d593f0c7b8cee3;p=android-x86%2Fexternal-mesa.git winsys/amdgpu: avoid double simple_mtx_unlock() pthread_mutex_unlock() when unlocked is documented by posix as being undefined behaviour. On OpenBSD pthread_mutex_unlock() will call abort(3) if this happens. This occurs in amdgpu_winsys_create() after cb446dc0fa5c68f681108f4613560543aa4cf553 winsys/amdgpu: Add amdgpu_screen_winsys Signed-off-by: Jonathan Gray Cc: 19.2 19.3 Signed-off-by: Marek Olšák (cherry picked from commit 3fe3bde4f2c8813e13fa2992212ca46a894e68b6) --- diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c index 568d3852893..2a341413033 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -326,7 +326,6 @@ amdgpu_winsys_create(int fd, const struct pipe_screen_config *config, aws = util_hash_table_get(dev_tab, dev); if (aws) { pipe_reference(NULL, &aws->reference); - simple_mtx_unlock(&dev_tab_mutex); /* Release the device handle, because we don't need it anymore. * This function is returning an existing winsys instance, which