au1200fb: fix oops due to uninitialized fb_info.lock mutex
PATCH 1/1 au1200fb: fix oops due to uninitialized fb_info.lock mutex
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.
--- drivers/video/au1200fb.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/video/au1200fb.c +2 -0
@@ -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
Quoted 20 lines · On Tue, 07 Jul 2009 10:29:51 +0200 Manuel Lauss <[email protected]>…
commit
4148df9b0f38bdd362dd91d52076926c11cbe5a9breaks au1200fb due to fb_info.lock now being uninitialized at the time of theregister_frambuffercall:CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc ==
8038ccd4, ra ==802412d4Call 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
Quoted 2 lines
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
Hi Krzysztof,
Quoted 23 lines · Krzysztof Helt
Quoted 20 lines · On Tue, 07 Jul 2009 10:29:51 +0200 Manuel Lauss <[email protected]>…
commit
4148df9b0f38bdd362dd91d52076926c11cbe5a9breaks au1200fb due to fb_info.lock now being uninitialized at the time of theregister_frambuffercall:CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc ==
8038ccd4, ra ==802412d4Call 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
Quoted 4 lines
Quoted 2 lines
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