summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2010-08-26 22:55:28 (GMT)
committerDave Airlie <airlied@redhat.com>2010-08-26 23:10:28 (GMT)
commit08f2e669a81b5906adf6e4716f92d99d7966d224 (patch)
treebe304dca3a8d141cfd6d27c40afd45aa1ea7b34a /drivers
parent12acd90f0b97a4ce4574ca1e951cbca026e92560 (diff)
downloadlinux-fsl-qoriq-08f2e669a81b5906adf6e4716f92d99d7966d224.tar.xz
drm: fix regression in drm locking since BKL removal.
This locking path needs proper auditing but probably too late for changes at this point for 2.6.36, so lets go with the quick fix, which is to drop the lock around schedule. Reported-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/drm_lock.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
index e2f70a5..9bf93bc 100644
--- a/drivers/gpu/drm/drm_lock.c
+++ b/drivers/gpu/drm/drm_lock.c
@@ -92,7 +92,9 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
}
/* Contention */
+ mutex_unlock(&drm_global_mutex);
schedule();
+ mutex_lock(&drm_global_mutex);
if (signal_pending(current)) {
ret = -EINTR;
break;