From: Luca Tettamanti on
Hi Arnd,
this commit:

commit 58374713c9dfb4d231f8c56cac089f6fbdedc2ec
Author: Arnd Bergmann <arnd(a)arndb.de>
Date: Sat Jul 10 23:51:39 2010 +0200

drm: kill BKL from common code


moved the call to (inside drm_release) drm_lastclose inside dev->count_lock
spinlock.
drm_lastclose however takes dev->struct_mutex (now inside an atomic
context):

BUG: sleeping function called from invalid context at /home/kronos/src/linux-2.6.git/kernel/mutex.c:94
in_atomic(): 1, irqs_disabled(): 0, pid: 3331, name: Xorg
Pid: 3331, comm: Xorg Not tainted 2.6.35-06113-gf6cec0a #272
Call Trace:
[<ffffffff8102770e>] __might_sleep+0xf8/0xfa
[<ffffffff8127cf18>] mutex_lock+0x1f/0x3e
[<ffffffffa052d1c1>] drm_lastclose+0x92/0x2ad [drm]
[<ffffffffa052dbc7>] drm_release+0x5ca/0x60d [drm]
[<ffffffff810b118f>] fput+0x130/0x1f7
[<ffffffff810ae77d>] filp_close+0x63/0x6d
[<ffffffff810ae82f>] sys_close+0xa8/0xe2
[<ffffffff8100296b>] system_call_fastpath+0x16/0x1b


Luca
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/