Confirmed. For Panda 4460, observed dead lock on pre-built image:
http://releases.linaro.org/12.08/ubuntu/leb-panda/lt-panda-x11-base_20120826-270-ubuntu-desktop.img.gz
However, this wouldn't hang the board.
[ 21.546112] ============================================= [ 21.551818] [ INFO: possible recursive locking detected ] [ 21.557525] 3.4.0-2-linaro-lt-omap #2~ci+120825182553-Ubuntu Tainted: G C O [ 21.565612] --------------------------------------------- [ 21.571258] Xorg/2058 is trying to acquire lock: [ 21.576110] (psPVRSRVMutex){+.+.+.}, at: [<bf9ea3ff>] LinuxLockMutex+0xe/0x10 [omapdrm_pvr] [ 21.585021] [ 21.585021] but task is already holding lock: [ 21.591156] (psPVRSRVMutex){+.+.+.}, at: [<bf9ea3ff>] LinuxLockMutex+0xe/0x10 [omapdrm_pvr] [ 21.600036] [ 21.600036] other info that might help us debug this: [ 21.606903] Possible unsafe locking scenario: [ 21.606903] [ 21.613128] CPU0 [ 21.615692] ---- [ 21.618225] lock(psPVRSRVMutex); [ 21.621826] lock(psPVRSRVMutex); [ 21.625396] [ 21.625396] *** DEADLOCK *** [ 21.625396] [ 21.631622] May be due to missing lock nesting notation [ 21.631622] [ 21.638732] 2 locks held by Xorg/2058: [ 21.642669] #0: (drm_global_mutex){+.+.+.}, at: [<c02a9e21>] drm_release+0x21/0x288 [ 21.650909] #1: (psPVRSRVMutex){+.+.+.}, at: [<bf9ea3ff>] LinuxLockMutex+0xe/0x10 [omapdrm_pvr] [ 21.660278] [ 21.660278] stack backtrace: [ 21.664886] [<c0011011>] (unwind_backtrace+0x1/0x90) from [<c005b3bd>] (print_deadlock_bug+0x81/0xac) [ 21.674560] [<c005b3bd>] (print_deadlock_bug+0x81/0xac) from [<c005c409>] (validate_chain.isra.26+0x341/0x360) [ 21.685058] [<c005c409>] (validate_chain.isra.26+0x341/0x360) from [<c005cd2f>] (__lock_acquire+0x4d5/0x54e) [ 21.695373] [<c005cd2f>] (__lock_acquire+0x4d5/0x54e) from [<c005d19f>] (lock_acquire+0xbb/0xd8) [ 21.704620] [<c005d19f>] (lock_acquire+0xbb/0xd8) from [<c046804f>] (mutex_lock_nested+0x37/0x250) [ 21.714050] [<c046804f>] (mutex_lock_nested+0x37/0x250) from [<bf9ea3ff>] (LinuxLockMutex+0xe/0x10 [omapdrm_pvr]) [ 21.724853] [<bf9ea3ff>] (LinuxLockMutex+0xe/0x10 [omapdrm_pvr]) from [<bf9e8ec9>] (LinuxMMapPerProcessDisconnect+0x16/0x4e [omapdrm_pvr]) [ 21.737915] [<bf9e8ec9>] (LinuxMMapPerProcessDisconnect+0x16/0x4e [omapdrm_pvr]) from [<bf9ea6f3>] (OSPerProcessPrivateDataDeInit+0x10/0x26 [omapdrm_pvr]) [ 21.752441] [<bf9ea6f3>] (OSPerProcessPrivateDataDeInit+0x10/0x26 [omapdrm_pvr]) from [<bf9eeff3>] (PVRSRVDissociateMemFromResmanKM+0x58/0x76 [omapdrm_pvr]) [ 21.767181] [<bf9eeff3>] (PVRSRVDissociateMemFromResmanKM+0x58/0x76 [omapdrm_pvr]) from [<bf9ef113>] (PVRSRVPerProcessDataDisconnect+0x2a/0x3c [omapdrm_pvr]) [ 21.781982] [<bf9ef113>] (PVRSRVPerProcessDataDisconnect+0x2a/0x3c [omapdrm_pvr]) from [<bf9f021f>] (PVRSRVProcessDisconnect+0xc/0xe [omapdrm_pvr]) [ 21.795867] [<bf9f021f>] (PVRSRVProcessDisconnect+0xc/0xe [omapdrm_pvr]) from [<bf9e9195>] (PVRSRVRelease+0x5c/0x8c [omapdrm_pvr]) [ 21.808227] [<bf9e9195>] (PVRSRVRelease+0x5c/0x8c [omapdrm_pvr]) from [<bf9f901f>] (PVRSRVDrmRelease+0x1a/0x2c [omapdrm_pvr]) [ 21.820098] [<bf9f901f>] (PVRSRVDrmRelease+0x1a/0x2c [omapdrm_pvr]) from [<c0365c4f>] (dev_preclose+0x2b/0x54) [ 21.830627] [<c0365c4f>] (dev_preclose+0x2b/0x54) from [<c02a9e41>] (drm_release+0x41/0x288) [ 21.839477] [<c02a9e41>] (drm_release+0x41/0x288) from [<c00bd477>] (__fput+0x97/0x154) [ 21.847900] [<c00bd477>] (__fput+0x97/0x154) from [<c00bada5>] (filp_close+0x41/0x48) [ 21.856109] [<c00bada5>] (filp_close+0x41/0x48) from [<c00bae33>] (sys_close+0x87/0xc4) [ 21.864532] [<c00bae33>] (sys_close+0x87/0xc4) from [<c000c101>] (ret_fast_syscall+0x1/0x52)
Confirmed. For Panda 4460, observed dead lock on pre-built image:
http:// releases. linaro. org/12. 08/ubuntu/ leb-panda/ lt-panda- x11-base_ 20120826- 270-ubuntu- desktop. img.gz
However, this wouldn't hang the board.
[ 21.546112] ======= ======= ======= ======= ======= ======= === linaro- lt-omap #2~ci+120825182 553-Ubuntu Tainted: G C O ------- ------- ------- ------- ------- --- {+.+.+. }, at: [<bf9ea3ff>] LinuxLockMutex+ 0xe/0x10 [omapdrm_pvr] {+.+.+. }, at: [<bf9ea3ff>] LinuxLockMutex+ 0xe/0x10 [omapdrm_pvr] tex); tex); mutex){ +.+.+.} , at: [<c02a9e21>] drm_release+ 0x21/0x288 {+.+.+. }, at: [<bf9ea3ff>] LinuxLockMutex+ 0xe/0x10 [omapdrm_pvr] backtrace+ 0x1/0x90) from [<c005b3bd>] (print_ deadlock_ bug+0x81/ 0xac) deadlock_ bug+0x81/ 0xac) from [<c005c409>] (validate_ chain.isra. 26+0x341/ 0x360) chain.isra. 26+0x341/ 0x360) from [<c005cd2f>] (__lock_ acquire+ 0x4d5/0x54e) acquire+ 0x4d5/0x54e) from [<c005d19f>] (lock_acquire+ 0xbb/0xd8) 0xbb/0xd8) from [<c046804f>] (mutex_ lock_nested+ 0x37/0x250) lock_nested+ 0x37/0x250) from [<bf9ea3ff>] (LinuxLockMutex +0xe/0x10 [omapdrm_pvr]) +0xe/0x10 [omapdrm_pvr]) from [<bf9e8ec9>] (LinuxMMapPerPr ocessDisconnect +0x16/0x4e [omapdrm_pvr]) ocessDisconnect +0x16/0x4e [omapdrm_pvr]) from [<bf9ea6f3>] (OSPerProcessPr ivateDataDeInit +0x10/0x26 [omapdrm_pvr]) ivateDataDeInit +0x10/0x26 [omapdrm_pvr]) from [<bf9eeff3>] (PVRSRVDissocia teMemFromResman KM+0x58/ 0x76 [omapdrm_pvr]) teMemFromResman KM+0x58/ 0x76 [omapdrm_pvr]) from [<bf9ef113>] (PVRSRVPerProce ssDataDisconnec t+0x2a/ 0x3c [omapdrm_pvr]) ssDataDisconnec t+0x2a/ 0x3c [omapdrm_pvr]) from [<bf9f021f>] (PVRSRVProcessD isconnect+ 0xc/0xe [omapdrm_pvr]) isconnect+ 0xc/0xe [omapdrm_pvr]) from [<bf9e9195>] (PVRSRVRelease+ 0x5c/0x8c [omapdrm_pvr]) 0x5c/0x8c [omapdrm_pvr]) from [<bf9f901f>] (PVRSRVDrmRelea se+0x1a/ 0x2c [omapdrm_pvr]) se+0x1a/ 0x2c [omapdrm_pvr]) from [<c0365c4f>] (dev_preclose+ 0x2b/0x54) 0x2b/0x54) from [<c02a9e41>] (drm_release+ 0x41/0x288) 0x41/0x288) from [<c00bd477>] (__fput+0x97/0x154) 0x41/0x48) 0x41/0x48) from [<c00bae33>] (sys_close+ 0x87/0xc4) 0x87/0xc4) from [<c000c101>] (ret_fast_ syscall+ 0x1/0x52)
[ 21.551818] [ INFO: possible recursive locking detected ]
[ 21.557525] 3.4.0-2-
[ 21.565612] -------
[ 21.571258] Xorg/2058 is trying to acquire lock:
[ 21.576110] (psPVRSRVMutex)
[ 21.585021]
[ 21.585021] but task is already holding lock:
[ 21.591156] (psPVRSRVMutex)
[ 21.600036]
[ 21.600036] other info that might help us debug this:
[ 21.606903] Possible unsafe locking scenario:
[ 21.606903]
[ 21.613128] CPU0
[ 21.615692] ----
[ 21.618225] lock(psPVRSRVMu
[ 21.621826] lock(psPVRSRVMu
[ 21.625396]
[ 21.625396] *** DEADLOCK ***
[ 21.625396]
[ 21.631622] May be due to missing lock nesting notation
[ 21.631622]
[ 21.638732] 2 locks held by Xorg/2058:
[ 21.642669] #0: (drm_global_
[ 21.650909] #1: (psPVRSRVMutex)
[ 21.660278]
[ 21.660278] stack backtrace:
[ 21.664886] [<c0011011>] (unwind_
[ 21.674560] [<c005b3bd>] (print_
[ 21.685058] [<c005c409>] (validate_
[ 21.695373] [<c005cd2f>] (__lock_
[ 21.704620] [<c005d19f>] (lock_acquire+
[ 21.714050] [<c046804f>] (mutex_
[ 21.724853] [<bf9ea3ff>] (LinuxLockMutex
[ 21.737915] [<bf9e8ec9>] (LinuxMMapPerPr
[ 21.752441] [<bf9ea6f3>] (OSPerProcessPr
[ 21.767181] [<bf9eeff3>] (PVRSRVDissocia
[ 21.781982] [<bf9ef113>] (PVRSRVPerProce
[ 21.795867] [<bf9f021f>] (PVRSRVProcessD
[ 21.808227] [<bf9e9195>] (PVRSRVRelease+
[ 21.820098] [<bf9f901f>] (PVRSRVDrmRelea
[ 21.830627] [<c0365c4f>] (dev_preclose+
[ 21.839477] [<c02a9e41>] (drm_release+
[ 21.847900] [<c00bd477>] (__fput+0x97/0x154) from [<c00bada5>] (filp_close+
[ 21.856109] [<c00bada5>] (filp_close+
[ 21.864532] [<c00bae33>] (sys_close+