Re: [PATCH v4 2/3] drm/lima: Fix dma_resv deadlock at drm object pin time

From: Val Packett
Date: Sun May 26 2024 - 04:28:08 EST




On Thu, May 23 2024 at 12:32:18 +01:00:00, Adrián Larumbe <adrian.larumbe@xxxxxxxxxxxxx> wrote:
Commit a78027847226 ("drm/gem: Acquire reservation lock in
drm_gem_{pin/unpin}()") moved locking the DRM object's dma reservation to
drm_gem_pin(), but Lima's pin callback kept calling drm_gem_shmem_pin,
which also tries to lock the same dma_resv, leading to a double lock
situation.

As was already done for Panfrost in the previous commit, fix it by
replacing drm_gem_shmem_pin() with its locked variant.

Hi, just found this while dealing with compositor lockups upon launching a GL client on an old Rockchip RK3066 tablet, and it did fix the problem :) Thank you.

Tested-by: Val Packett <val@xxxxxxxxxxxx>