drm/panfrost: Use mutex_trylock in panfrost_gem_purge
authorRob Herring <robh@kernel.org>
Fri, 23 Aug 2019 02:12:14 +0000 (21:12 -0500)
committerRob Herring <robh@kernel.org>
Wed, 28 Aug 2019 15:02:39 +0000 (10:02 -0500)
commit55b9a0549e4303ca43481f9ba2cdfa305277d97d
treeb8520f2a5fd14c1508588c1501ce0cb591d9fc38
parentedbd7f318cd66cec4588a28ba6985b014456dbca
drm/panfrost: Use mutex_trylock in panfrost_gem_purge

Lockdep reports a circular locking dependency with pages_lock taken in
the shrinker callback. The deadlock can't actually happen with current
users at least as a BO will never be purgeable when pages_lock is held.
To be safe, let's use mutex_trylock() instead and bail if a BO is locked
already.

Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Steven Price <steven.price@arm.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190823021216.5862-7-robh@kernel.org
drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c