Thread (3 messages) flat view 3 messages, 2 authors, 2009-07-08
STALE6279d

[PATCH] au1200fb: fix oops due to uninitialized fb_info.lock mutex

From: Manuel Lauss <hidden>
Date: 2009-07-07 10:10:44
Subsystem: framebuffer layer, the rest · Maintainers: Helge Deller, Linus Torvalds

commit 4148df9b0f38bdd362dd91d52076926c11cbe5a9 breaks au1200fb due to
fb_info.lock now being uninitialized at the time of the
register_frambuffer call:

CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 8038ccd4, ra == 802412d4
Call Trace:
[<8038ccd4>] __mutex_lock_slowpath+0x3c/0xe4
[<802412d4>] lock_fb_info+0x20/0x50
[<80242158>] register_framebuffer+0x264/0x2a4
[<8024f8c4>] au1200fb_drv_probe+0x308/0x444
[<80273ef8>] driver_probe_device+0xbc/0x184
[<8027402c>] __driver_attach+0x6c/0xa4
[<802736bc>] bus_for_each_dev+0x60/0xb0
[<80272e20>] bus_add_driver+0xc8/0x24c
[<802743f4>] driver_register+0xdc/0x190
[<8047d130>] au1200fb_init+0x39c/0x3cc
[<80100460>] _stext+0x60/0x1c8
[<8046f334>] kernel_init+0xc8/0x134
[<80106f64>] kernel_thread_helper+0x10/0x18

This band-aid fixes this oops.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
---
 drivers/video/au1200fb.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index 0d96f1d..293aff9 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1671,6 +1671,8 @@ static int au1200fb_drv_probe(struct platform_device *dev)
 		if ((ret = au1200fb_init_fbinfo(fbdev)) < 0)
 			goto failed;

+		mutex_init(&fbdev->fb_info.lock);
+
 		/* Register new framebuffer */
 		if ((ret = register_framebuffer(&fbdev->fb_info)) < 0) {
 			print_err("cannot register new framebuffer");
--
1.6.3.3


------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help