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

Subsystems: framebuffer layer, the rest

STALE6273d

3 messages, 2 authors, 2009-07-08 · open the first message on its own page

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

From: Manuel Lauss <hidden>
Date: 2009-07-07 10:10:44

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

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

From: Krzysztof Helt <hidden>
Date: 2009-07-07 15:34:33

On Tue, 07 Jul 2009 10:29:51 +0200
Manuel Lauss [off-list ref] wrote:
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.
Please wait a little. Currently, I, Paul Mundt and Linus discuss how to fix all drivers broken by the commit 4148df9b0f38bdd362dd91d52076.

Kind regards,
Krzysztof

 	 
----------------------------------------------------------------------
Sprawdz, czy wziac klapki, czy parasolke
Pogoda na dzis, jutro i pojutrze >> http://link.interia.pl/f224d


------------------------------------------------------------------------------
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/blackberry

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

From: Manuel Lauss <hidden>
Date: 2009-07-08 05:57:34

Hi Krzysztof,

On Tue, Jul 7, 2009 at 5:44 PM, Krzysztof Helt[off-list ref] wrote:
On Tue, 07 Jul 2009 10:29:51 +0200
Manuel Lauss [off-list ref] wrote:
quoted
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.
Please wait a little. Currently, I, Paul Mundt and Linus discuss how to fix all drivers broken by the commit 4148df9b0f38bdd362dd91d52076.
Alright, I'll wait. In the meantime I've refined the patch a bit and
converted the driver to use the framebuffer_alloc() call.

      Manuel Lauss

------------------------------------------------------------------------------
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