Hi all, two fixes for locking issues that I noticed. The first one is something that I actually encountered live; it probably only matters when lock debugging is enabled, but obviously needs to be fixed anyway. The second one I only noticed upon reading the code -- I haven't seen it fail live yet, at least not with lock debugging enabled (who knows what its effects could be without lock debugging). Please review! I noticed two more locking-related problems, but since I'm not sure whether I'll get to those this week, I'm sending out these two patches already. The other two problems are (both of them probably mostly benign, but I did encounter them in live tests): 1. amdgpu_bo_create_restricted(resv == NULL) --> ttm_bo_init will free a reservation object while it is locked. Fixing this soundly probably requires mild changes to the ttm_bo_init API (perhaps a separate ttm_bo_init_locked?). 2. ttm_bo_pipeline_move will ttm_bo_unref(&ghost_obj) leading to mutex_destroy(&ghost_obj->wu_mutex) while that mutex "looks" locked (due to the dumb copy). Thanks, Nicolai