android_kernel_xiaomi_sm8350/drivers/video
Paul Mundt f50bf2b2f5 video: sm501fb: Early initialization of mm_lock mutex.
Commit 537a1bf059 (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>
2009-07-04 10:39:06 -07:00
..
aty atyfb: fix alignment for block writes 2009-06-30 18:56:01 -07:00
backlight backlight: Fix tdo24m crash on kmalloc 2009-06-23 20:32:58 +01:00
console vgacon: use slab allocator instead of the bootmem allocator 2009-06-11 19:33:34 +03:00
display
geode
i810 fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
intelfb intelfb: fix a bug when changing video timing 2009-06-16 19:48:00 -07:00
kyro
logo fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
matrox fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
mb862xx mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF 2009-06-16 19:47:59 -07:00
mbx
nvidia nvidiafb: fix boot-time printk string 2009-06-23 12:50:05 -07:00
omap fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
pnx4008
riva
savage
sis fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
vermilion
via viafb: make it work on x86_64 2009-05-12 14:11:35 -07:00
68328fb.c
acornfb.c acornfb: remove fb_mmap function 2009-06-16 19:47:59 -07:00
acornfb.h
amba-clcd.c [ARM] 5544/1: Trust PrimeCell resource sizes 2009-06-11 15:36:56 +01:00
amifb.c
arcfb.c
arkfb.c
asiliantfb.c asiliantfb: add missing return statement 2009-04-21 13:41:47 -07:00
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
atafb.h
atmel_lcdfb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
au1100fb.c
au1100fb.h
au1200fb.c
au1200fb.h
bf54x-lq043fb.c fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset 2009-06-16 19:48:03 -07:00
bfin-t350mcqb-fb.c fbdev: *bfin*: fix __dev{init,exit} markings 2009-06-16 19:48:03 -07:00
broadsheetfb.c
bt431.h
bt455.h
bw2.c bw2: use standard fields for framebuffer physical address and length 2009-06-16 04:56:30 -07:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c carminefb: fix possible access beyond end of carmine_modedb[] 2009-06-16 19:47:59 -07:00
carminefb.h
cfbcopyarea.c
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c
cg3.c cg3: use standard fields for framebuffer physical address and length 2009-06-16 04:56:34 -07:00
cg6.c cg6: use standard fields for framebuffer physical address and length 2009-06-16 04:56:35 -07:00
cg14.c cg14: use standard fields for framebuffer physical address and length 2009-06-16 04:56:31 -07:00
chipsfb.c chipsfb: remove redundant assignment 2009-06-16 19:47:58 -07:00
cirrusfb.c cirrusfb: do not allow unsupported pixel depth 2009-04-13 15:04:30 -07:00
clps711xfb.c
cobalt_lcdfb.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
controlfb.c
controlfb.h
cyber2000fb.c cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK 2009-06-12 21:46:53 +09:30
cyber2000fb.h
dnfb.c
edid.h
efifb.c fbdev: add support for handoff from firmware to hw framebuffers 2009-06-16 19:48:00 -07:00
epson1355fb.c
fb_ddc.c
fb_defio.c
fb_draw.h fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
fbmon.c
fbsysfs.c
ffb.c
fm2fb.c
fsl-diu-fb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
fsl-diu-fb.h
g364fb.c
gbefb.c MIPS: gbe: Make needlessly global symbols static in drivers/video/gbefb.c 2009-05-14 13:50:25 +01:00
gxt4500.c
hecubafb.c
hgafb.c
hitfb.c sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. 2009-05-20 11:27:13 +09:00
hpfb.c
igafb.c igafb: use framebuffer_alloc() to allocate fb_info struct 2009-06-16 19:47:58 -07:00
imsttfb.c
imxfb.c
Kconfig parisc: stifb: should depend on STI_CONSOLE 2009-07-03 03:34:05 +00:00
leo.c leo: use standard fields for framebuffer physical address and length 2009-06-16 04:56:37 -07:00
macfb.c
macmodes.c
macmodes.h
Makefile fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
maxinefb.c
metronomefb.c
modedb.c fbdev: add video modes for resolutions and timings of PAL RGB 2009-06-16 19:47:58 -07:00
mx3fb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
n411.c
neofb.c
offb.c fbdev: use framebuffer_release() for freeing fb_info structures 2009-06-16 19:48:00 -07:00
output.c
p9100.c p9100: use standard fields for framebuffer physical address and length 2009-06-16 04:56:38 -07:00
platinumfb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
platinumfb.h
pm2fb.c fbdev: use framebuffer_release() for freeing fb_info structures 2009-06-16 19:48:00 -07:00
pm3fb.c
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access 2009-06-15 16:47:25 +10:00
pvr2fb.c
pxa168fb.c fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxa168fb.h fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxafb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
pxafb.h
q40fb.c
s1d13xxxfb.c fbdev: s1d13xxxfb: add accelerated bitblt functions 2009-06-16 19:48:00 -07:00
s3c2410fb.c s3c-fb: CPUFREQ frequency scaling support 2009-06-16 19:47:59 -07:00
s3c2410fb.h s3c-fb: CPUFREQ frequency scaling support 2009-06-16 19:47:59 -07:00
s3c-fb.c s3c-fb: fix resource releasing on error during probing 2009-06-16 19:47:59 -07:00
s3fb.c s3fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.c sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.h sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sbuslib.c
sbuslib.h
sgivwfb.c
sh7760fb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
sh_mobile_lcdcfb.c sh: LCDC dcache flush for deferred io 2009-07-02 03:34:37 +09:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c video: sm501fb: Early initialization of mm_lock mutex. 2009-07-04 10:39:06 -07:00
sstfb.c
sticore.h
stifb.c fbdev: use framebuffer_release() for freeing fb_info structures 2009-06-16 19:48:00 -07:00
sunxvr500.c
sunxvr2500.c
svgalib.c
syscopyarea.c
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c
tcx.c tcx: use standard fields for framebuffer physical address and length 2009-06-16 19:48:00 -07:00
tdfxfb.c i2c: Do not probe for TV chips on Voodoo3 adapters 2009-06-15 18:01:48 +02:00
tgafb.c
tmiofb.c
tridentfb.c tridentfb: delete acceleration Kconfig option 2009-04-01 08:59:34 -07:00
uvesafb.c uvesafb: improve parameter handling. 2009-06-12 21:46:59 +09:30
valkyriefb.c
valkyriefb.h
vesafb.c fbdev: add support for handoff from firmware to hw framebuffers 2009-06-16 19:48:00 -07:00
vfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
vga16fb.c
vgastate.c
vt8623fb.c
w100fb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
w100fb.h
xen-fbfront.c xen: remove driver_data direct access of struct device from more drivers 2009-06-15 21:30:28 -07:00
xilinxfb.c fbdev/xilinxfb: Fix improper casting and tighen up probe path 2009-06-17 00:30:02 -06:00