video: sm501fb: Early initialization of mm_lock mutex.
authorPaul Mundt <lethal@linux-sh.org>
Fri, 3 Jul 2009 06:45:56 +0000 (15:45 +0900)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 4 Jul 2009 17:39:06 +0000 (10:39 -0700)
commitf50bf2b2f5e83b794e0bdb2f3f589f55ef0d52d0
tree01020b4eaa2df173889ebcfb71f7dc02097dede6
parentde481ba925e880764e38b8756c93c05006892507
video: sm501fb: Early initialization of mm_lock mutex.

Commit 537a1bf059fa312355696fa6db80726e655e7f17 (fbdev: add mutex for
fb_mmap locking) introduces a ->mm_lock mutex for protecting smem
assignments. Unfortunately in the case of sm501fb these happen quite
early in the initialization code, well before the mutex_init() that takes
place in register_framebuffer(), leading to:

   Badness at kernel/mutex.c:207

   Pid : 1, Comm:          swapper
   CPU : 0                 Not tainted  (2.6.31-rc1-00284-g529ba0d-dirty #2273)

   PC is at __mutex_lock_slowpath+0x72/0x1bc
   PR is at __mutex_lock_slowpath+0x66/0x1bc
   ...

matroxfb appears to have the same issue and has solved it with an early
mutex_init(), so we do the same for sm501fb.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/sm501fb.c