[PATCH] drm/nouveau: fix locking in nouveau_crtc_page_flip

2013-07-02 Thread Dave Airlie
On Mon, Jul 1, 2013 at 8:00 PM, Maarten Lankhorst wrote: > This is a bit messed up because chan->cli->mutex is a different class, > depending on whether it is the global drm client or not. This is > because the global cli->mutex lock can be taken for eviction, > so locking it before pinning the

[PATCH] drm/nouveau: fix locking in nouveau_crtc_page_flip

2013-07-01 Thread Maarten Lankhorst
This is a bit messed up because chan->cli->mutex is a different class, depending on whether it is the global drm client or not. This is because the global cli->mutex lock can be taken for eviction, so locking it before pinning the buffer objects may result in a deadlock. The locking order from

[PATCH] drm/nouveau: fix locking in nouveau_crtc_page_flip

2013-07-01 Thread Maarten Lankhorst
This is a bit messed up because chan-cli-mutex is a different class, depending on whether it is the global drm client or not. This is because the global cli-mutex lock can be taken for eviction, so locking it before pinning the buffer objects may result in a deadlock. The locking order from outer

Re: [PATCH] drm/nouveau: fix locking in nouveau_crtc_page_flip

2013-07-01 Thread Dave Airlie
On Mon, Jul 1, 2013 at 8:00 PM, Maarten Lankhorst maarten.lankho...@canonical.com wrote: This is a bit messed up because chan-cli-mutex is a different class, depending on whether it is the global drm client or not. This is because the global cli-mutex lock can be taken for eviction, so locking