Commit 45ff46c54a31bf8924b61e3e3411654410a3b5c3
Committed by
Dave Airlie
1 parent
4a445f291a
Exists in
master
and in
7 other branches
drm: readd drm_lock_free in drm_unlock
I've accidently killed a little bit too much in commit 1da3f87ebb7edb3e0b829ec4bbe5fb3d9d93986f Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon Aug 23 22:53:24 2010 +0200 drm: kill kernel_context_switch callbacks Note to self: Next time also test with AIGLX disabled. Reported-and-Tested-by: Andy Furniss <lists@andyfurniss.entadsl.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30374 Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
Showing 1 changed file with 5 additions and 0 deletions Side-by-side Diff
drivers/gpu/drm/drm_lock.c
... | ... | @@ -152,6 +152,7 @@ |
152 | 152 | int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv) |
153 | 153 | { |
154 | 154 | struct drm_lock *lock = data; |
155 | + struct drm_master *master = file_priv->master; | |
155 | 156 | |
156 | 157 | if (lock->context == DRM_KERNEL_CONTEXT) { |
157 | 158 | DRM_ERROR("Process %d using kernel context %d\n", |
... | ... | @@ -160,6 +161,10 @@ |
160 | 161 | } |
161 | 162 | |
162 | 163 | atomic_inc(&dev->counts[_DRM_STAT_UNLOCKS]); |
164 | + | |
165 | + if (drm_lock_free(&master->lock, lock->context)) { | |
166 | + /* FIXME: Should really bail out here. */ | |
167 | + } | |
163 | 168 | |
164 | 169 | unblock_all_signals(); |
165 | 170 | return 0; |