<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"> Hi Martin,<br><font face="Courier New,Courier,monospace" size="3">Are you getting any extra output (that you didn't have before patching<br>the serial driver)?<br>Ie it could be that you were always getting this lockup just at the<br>wrong baud rate so you couldn't see it.<br><br>Before applying this patch i was getting Freeing init memory and after some time some junk characters.<br></font><br>I applied your patch.<br><br>With this i am getting error like this as before.<br><5>RAMDISK: Compressed image found at block 0<br><br>VFS: Mounted root (ext2 filesystem).<br>Freeing init memory: 128K<br><6>@HACK@ ignoring imx_setup_ufcr 0<br>@HACK@ ignoring imx_setup_ufcr 0<br><3>BUG: soft lockup - CPU#0 stuck for 61s! [swapper:1]<br>BUG: soft lockup - CPU#0 stuck for 61s! [swapper:1]<br>Modules linked in:Modules linked in:<br><br><br><br>Pid: 1, comm: swapper<br>Pid: 1, comm: swapper<br>CPU: 0 Not tainted (2.6.27 #19)<br>CPU: 0 Not tainted (2.6.27 #19)<br>PC is at __do_softirq+0x48/0xd4<br>PC is at __do_softirq+0x48/0xd4<br>LR is at irq_exit+0x4c/0x84<br>LR is at irq_exit+0x4c/0x84<br>pc : [<c004cb8c>] lr : [<c004cefc>] psr: 20000013<br>sp : c381dc90 ip : c381dcb0 fp : c381dcac<br>pc : [<c004cb8c>] lr : [<c004cefc>] psr: 20000013<br>sp : c381dc90 ip : c381dcb0 fp : c381dcac<br>r10: c3bd0440 r9 : 00000000 r8 : 00000014<br>r10: c3bd0440 r9 : 00000000 r8 : 00000014<br>r7 : 00000000 r6 : 0000000a r5 : c0433040 r4 : 00000102<br>r7 : 00000000 r6 : 0000000a r5 : c0433040 r4 : 00000102<br>r3 : 20000013 r2 : c046db40 r1 : c381c000 r0 : 00000014<br>r3 : 20000013 r2 : c046db40 r1 : c381c000 r0 : 00000014<br>Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel<br>Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel<br>Control: 0005317f Table: a0004000 DAC: 00000017<br>Control: 0005317f Table: a0004000 DAC: 00000017<br>[<c0029d40>] [<c0029d40>] (show_regs+0x0/0x50) (show_regs+0x0/0x50) from [<c0078450>] from [<c0078450>] (softlockup_tick+0x108/0x158)<br>(softlockup_tick+0x108/0x158)<br> r4:026258ea r4:026258ea<br><br>[<c0078348>] [<c0078348>] (softlockup_tick+0x0/0x158) (softlockup_tick+0x0/0x158) from [<c0051604>] from [<c0051604>] (run_local_timers+0x1c/0x20)<br>(run_local_timers+0x1c/0x20)<br>[<c00515e8>] [<c00515e8>] (run_local_timers+0x0/0x20) (run_local_timers+0x0/0x20) from [<c0051a90>] from [<c0051a90>] (update_process_times+0x2c/0x58)<br>(update_process_times+0x2c/0x58)<br>[<c0051a64>] [<c0051a64>] (update_process_times+0x0/0x58) (update_process_times+0x0/0x58) from [<c0065098>] from [<c0065098>] (tick_sched_timer+0x8c/0xd8)<br>(tick_sched_timer+0x8c/0xd8)<br> r5:c381dc48 r5:c381dc48 r4:c046f298 r4:c046f298<br><br>[<c006500c>] [<c006500c>] (tick_sched_timer+0x0/0xd8) (tick_sched_timer+0x0/0xd8) from [<c005ebb8>] from [<c005ebb8>] (__run_hrtimer+0x58/0xa4)<br>(__run_hrtimer+0x58/0xa4)<br> r7:3fbce150 r7:3fbce150 r6:c046f298 r6:c046f298 r5:c0431ee8 r5:c0431ee8 r4:c046f298 r4:c046f298<br><br>[<c005eb60>] [<c005eb60>] (__run_hrtimer+0x0/0xa4) (__run_hrtimer+0x0/0xa4) from [<c005fbd8>] from [<c005fbd8>] (hrtimer_interrupt+0x168/0x214)<br>(hrtimer_interrupt+0x168/0x214)<br> r5:00000043 r5:00000043 r4:00000e0d r4:00000e0d<br><br>[<c005fa70>] [<c005fa70>] (hrtimer_interrupt+0x0/0x214) (hrtimer_interrupt+0x0/0x214) from [<c0033320>] from [<c0033320>] (mxc_timer_interrupt+0x2c/0x3c)<br>(mxc_timer_interrupt+0x2c/0x3c)<br>[<c00332f4>] [<c00332f4>] (mxc_timer_interrupt+0x0/0x3c) (mxc_timer_interrupt+0x0/0x3c) from [<c0078938>] from [<c0078938>] (handle_IRQ_event+0x44/0x84)<br>(handle_IRQ_event+0x44/0x84)<br>[<c00788f4>] [<c00788f4>] (handle_IRQ_event+0x0/0x84) (handle_IRQ_event+0x0/0x84) from [<c007a294>] from [<c007a294>] (handle_level_irq+0x94/0xec)<br>(handle_level_irq+0x94/0xec)<br> r7:00000000 r7:00000000 r6:c381dce8 r6:c381dce8 r5:0000001a r5:0000001a r4:c0433190 r4:c0433190<br><br>[<c007a200>] [<c007a200>] (handle_level_irq+0x0/0xec) (handle_level_irq+0x0/0xec) from [<c0028048>] from [<c0028048>] (asm_do_IRQ+0x48/0x64)<br>(asm_do_IRQ+0x48/0x64)<br> r5:c0433190 r5:c0433190 r4:0000001a r4:0000001a<br><br>[<c0028000>] [<c0028000>] (asm_do_IRQ+0x0/0x64) (asm_do_IRQ+0x0/0x64) from [<c0338c10>] from [<c0338c10>] (__irq_svc+0x30/0x60)<br>(__irq_svc+0x30/0x60)<br>Exception stack(0xc381dc48 to 0xc381dc90)<br>Exception stack(0xc381dc48 to 0xc381dc90)<br>dc40: dc40: 00000014 00000014 c381c000 c381c000 c046db40 c046db40 20000013 20000013 00000102 00000102 c0433040 c0433040 <br><br>dc60: dc60: 0000000a 0000000a 00000000 00000000 00000014 00000014 00000000 00000000 c3bd0440 c3bd0440 c381dcac c381dcac c381dcb0 c381dcb0 c381dc90 c381dc90 <br><br>dc80: dc80: c004cefc c004cefc c004cb8c c004cb8c 20000013 20000013 ffffffff ffffffff <br><br> r6:001a0000 r6:001a0000 r5:f4040000 r5:f4040000 r4:ffffffff r4:ffffffff<br><br>[<c004cb44>] [<c004cb44>] (__do_softirq+0x0/0xd4) (__do_softirq+0x0/0xd4) from [<c004cefc>] from [<c004cefc>] (irq_exit+0x4c/0x84)<br>(irq_exit+0x4c/0x84)<br> r6:00000000 r6:00000000 r5:c0433040 r5:c0433040 r4:c381c000 r4:c381c000<br><br>[<c004ceb0>] [<c004ceb0>] (irq_exit+0x0/0x84) (irq_exit+0x0/0x84) from [<c002804c>] from [<c002804c>] (asm_do_IRQ+0x4c/0x64)<br>(asm_do_IRQ+0x4c/0x64)<br> r4:00000014 r4:00000014<br><br>[<c0028000>] [<c0028000>] (asm_do_IRQ+0x0/0x64) (asm_do_IRQ+0x0/0x64) from [<c0338c10>] from [<c0338c10>] (__irq_svc+0x30/0x60)<br>(__irq_svc+0x30/0x60)<br>Exception stack(0xc381dce8 to 0xc381dd30)<br>Exception stack(0xc381dce8 to 0xc381dd30)<br>dce0: dce0: 00000000 00000000 c3bd0440 c3bd0440 00000000 00000000 00000000 00000000 c0079820 c0079820 c0433040 c0433040 <br><br>dd00: dd00: 40000013 40000013 00000000 00000000 00000014 00000014 00000000 00000000 c3bd0440 c3bd0440 c381dd64 c381dd64 c381dd08 c381dd08 c381dd30 c381dd30 <br><br>dd20: dd20: c00797fc c00797fc c00791a0 c00791a0 60000013 60000013 ffffffff ffffffff <br><br> r6:00140000 r6:00140000 r5:f4040000 r5:f4040000 r4:ffffffff r4:ffffffff<br><br>[<c0078fa0>] [<c0078fa0>] (setup_irq+0x0/0x28c) (setup_irq+0x0/0x28c) from [<c00792f8>] from [<c00792f8>] (request_irq+0xcc/0xf8)<br>(request_irq+0xcc/0xf8)<br>[<c007922c>] [<c007922c>] (request_irq+0x0/0xf8) (request_irq+0x0/0xf8) from [<c0238c14>] from [<c0238c14>] (imx_startup+0xbc/0x188)<br>(imx_startup+0xbc/0x188)<br>[<c0238b58>] [<c0238b58>] (imx_startup+0x0/0x188) (imx_startup+0x0/0x188) from [<c02360c8>] from [<c02360c8>] (uart_startup+0x90/0x194)<br>(uart_startup+0x90/0x194)<br> r5:c3ba3800 r5:c3ba3800 r4:00000000 r4:00000000<br><br>[<c0236038>] [<c0236038>] (uart_startup+0x0/0x194) (uart_startup+0x0/0x194) from [<c0237ecc>] from [<c0237ecc>] (uart_open+0x184/0x45c)<br>(uart_open+0x184/0x45c)<br>[<c0237d48>] [<c0237d48>] (uart_open+0x0/0x45c) (uart_open+0x0/0x45c) from [<c02211b4>] from [<c02211b4>] (tty_open+0x188/0x2e0)<br>(tty_open+0x188/0x2e0)<br>[<c022102c>] [<c022102c>] (tty_open+0x0/0x2e0) (tty_open+0x0/0x2e0) from [<c00a9834>] from [<c00a9834>] (chrdev_open+0x120/0x164)<br>(chrdev_open+0x120/0x164)<br>[<c00a9714>] [<c00a9714>] (chrdev_open+0x0/0x164) (chrdev_open+0x0/0x164) from [<c00a4d60>] from [<c00a4d60>] (__dentry_open+0x158/0x274)<br>(__dentry_open+0x158/0x274)<br> r7:c00a9714 r7:c00a9714 r6:00000000 r6:00000000 r5:c3426410 r5:c3426410 r4:c3bc7460 r4:c3bc7460<br><br>[<c00a4c08>] [<c00a4c08>] (__dentry_open+0x0/0x274) (__dentry_open+0x0/0x274) from [<c00a4eb4>] from [<c00a4eb4>] (nameidata_to_filp+0x38/0x50)<br>(nameidata_to_filp+0x38/0x50)<br>[<c00a4e7c>] [<c00a4e7c>] (nameidata_to_filp+0x0/0x50) (nameidata_to_filp+0x0/0x50) from [<c00b2164>] from [<c00b2164>] (do_filp_open+0x354/0x6e0)<br>(do_filp_open+0x354/0x6e0)<br> r4:00000000 r4:00000000<br><br>[<c00b1e10>] [<c00b1e10>] (do_filp_open+0x0/0x6e0) (do_filp_open+0x0/0x6e0) from [<c00a4b1c>] from [<c00a4b1c>] (do_sys_open+0x5c/0xec)<br>(do_sys_open+0x5c/0xec)<br>[<c00a4ac0>] [<c00a4ac0>] (do_sys_open+0x0/0xec) (do_sys_open+0x0/0xec) from [<c00a4be4>] from [<c00a4be4>] (sys_open+0x24/0x28)<br>(sys_open+0x24/0x28)<br> r8:00000000 r8:00000000 r7:00000000 r7:00000000 r6:00000000 r6:00000000 r5:c0021fd0 r5:c0021fd0 r4:c044bcf8 r4:c044bcf8<br><br>[<c00a4bc0>] [<c00a4bc0>] (sys_open+0x0/0x28) (sys_open+0x0/0x28) from [<c0028444>] from [<c0028444>] (init_post+0x30/0x104)<br>(init_post+0x30/0x104)<br>[<c0028414>] [<c0028414>] (init_post+0x0/0x104) (init_post+0x0/0x104) from [<c000893c>] from [<c000893c>] (kernel_init+0xb4/0xd8)<br>(kernel_init+0xb4/0xd8)<br> r4:c044bcf8 r4:c044bcf8<br><br>[<c0008888>] [<c0008888>] (kernel_init+0x0/0xd8) (kernel_init+0x0/0xd8) from [<c004ab48>] from [<c004ab48>] (do_exit+0x0/0x798)<br>(do_exit+0x0/0x798)<br> r5:00000000 r5:00000000 r4:00000000 r4:00000000<br><br><br>Regards,<br>Prabha<br><br><br>Prabha J.<br>Tata Consultancy Services<br>Ph:- 918067258589<br>Cell:- 99726226444<br>Mailto: prabha.j@tcs.com<br>Website: http://www.tcs.com<br>____________________________________________<br>Experience certainty.        IT Services<br>                        Business Solutions<br>                        Outsourcing<br>____________________________________________<br><br><font color="#990099">-----linux-arm-bounces@lists.infradead.org wrote: -----</font><div><blockquote style="border-left: 2px solid black; padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">To: Prabha J <prabha.j@tcs.com>, linux-arm@lists.infradead.org<br>From: Martin Fuzzey <mfuzzey@gmail.com><br>Sent by: linux-arm-bounces@lists.infradead.org<br>Date: 11/27/2009 02:35PM<br>Subject: Re: imx27 - hanging at freeing init memory -- getting some junk         characters here after on console ..<br><br><pre>Hi,<br>Please keep the list as copy.<br><br>On Thu, Nov 26, 2009 at 10:15 AM, Prabha J <prabha.j@tcs.com> wrote:<br>> Hi,<br>><br>> 1. Another idea would be to patch drivers/serial/imx.c so that<br>> imx_set_termios() and imx_setup_ufcr() are NOPs; that should leave the<br>> UART config as the bootloader set it - which seems to work.<br>><br>> [even though the bit time is correct maybe its a word format error...]<br>><br>> I am using IMX27 processor based board(From iwave Rainbow G3 board).<br>> I am also facing same problem.<br>> As you have suggested i commented whole imx_set_termios() as<br>><br>> static int imx_setup_ufcr(struct imx_port *sport, unsigned int mode)<br>> {<br>> #if 0<br>> unsigned int val;<br>> unsigned int ufcr_rfdiv;<br>><br>> /* set receiver / transmitter trigger level.<br>> * RFDIV is set such way to satisfy requested uartclk value<br>> */<br>> val = TXTL << 10 | RXTL;<br>> ufcr_rfdiv = (clk_get_rate(sport->clk) + sport->port.uartclk / 2)<br>> / sport->port.uartclk;<br>><br>> if(!ufcr_rfdiv)<br>> ufcr_rfdiv = 1;<br>><br>> if(ufcr_rfdiv >= 7)<br>> ufcr_rfdiv = 6;<br>> else<br>> ufcr_rfdiv = 6 - ufcr_rfdiv;<br>><br>> val |= UFCR_RFDIV & (ufcr_rfdiv << 7);<br>><br>> writel(val, sport->port.membase + UFCR);<br>><br>> return 0;<br>> #endif<br>> NOP();//prabha<br>> }<br>><br>Not sure where NOP() comes from...<br><br>> and samething for imx_setup_ufcr() function.<br>><br>> After this i am getting error as shown below.<br>> <3>BUG: soft lockup - CPU#0 stuck for 61s! [swapper:1]<br>> BUG: soft lockup - CPU#0 stuck for 61s! [swapper:1]<br>> Modules linked in:Modules linked in:<br>><br>><br>><br>> Pid: 1, comm: swapper<br>> Pid: 1, comm: swapper<br>> CPU: 0 Not tainted (2.6.27 #18)<br>> CPU: 0 Not tainted (2.6.27 #18)<br>> PC is at handle_IRQ_event+0x2c/0x84<br>> PC is at handle_IRQ_event+0x2c/0x84<br>> LR is at handle_level_irq+0x94/0xec<br>> LR is at handle_level_irq+0x94/0xec<br>> pc : <c0078920> lr : <c007a294> psr: 40000013<br>> sp : c381dbf0 ip : c381dc10 fp : c381dc0c<br>> pc : <c0078920> lr : <c007a294> psr: 40000013<br>> sp : c381dbf0 ip : c381dc10 fp : c381dc0c<br>> r10: c3bd22e0 r9 : 00000000 r8 : 00000014<br>> r10: c3bd22e0 r9 : 00000000 r8 : 00000014<br>> r7 : 00000014 r6 : c381dce8 r5 : 00000014 r4 : c3bd22e0<br>> r7 : 00000014 r6 : c381dce8 r5 : 00000014 r4 : c3bd22e0<br>> r3 : 40000013 r2 : c044c8f8 r1 : c3bd22e0 r0 : 00000014<br>> r3 : 40000013 r2 : c044c8f8 r1 : c3bd22e0 r0 : 00000014<br>> Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel<br>> Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel<br>> Control: 0005317f Table: a0004000 DAC: 00000017<br>> Control: 0005317f Table: a0004000 DAC: 00000017<br>> <c0029d40> <c0029d40> (show_regs+0x0/0x50) (show_regs+0x0/0x50) from<br>> <c0078450> from <c0078450> (softlockup_tick+0x108/0x158)<br>> (softlockup_tick+0x108/0x158)<br>> r4:026258eb r4:026258eb<br>><br>> <c0078348> <c0078348> (softlockup_tick+0x0/0x158)<br>> (softlockup_tick+0x0/0x158) from <c0051604> from <c0051604><br>> (run_local_timers+0x1c/0x20)<br>> (run_local_timers+0x1c/0x20)<br>> <c00515e8> <c00515e8> (run_local_timers+0x0/0x20)<br>> (run_local_timers+0x0/0x20) from <c0051a90> from <c0051a90><br>> (update_process_times+0x2c/0x58)<br>> (update_process_times+0x2c/0x58)<br>> <c0051a64> <c0051a64> (update_process_times+0x0/0x58)<br>> (update_process_times+0x0/0x58) from <c0065098> from <c0065098><br>> (tick_sched_timer+0x8c/0xd8)<br>> (tick_sched_timer+0x8c/0xd8)<br>> r5:c381dba8 r5:c381dba8 r4:c046f298 r4:c046f298<br>><br>> <c006500c> <c006500c> (tick_sched_timer+0x0/0xd8)<br>> (tick_sched_timer+0x0/0xd8) from <c005ebb8> from <c005ebb8><br>> (__run_hrtimer+0x58/0xa4)<br>> (__run_hrtimer+0x58/0xa4)<br>> r7:3fbce150 r7:3fbce150 r6:c046f298 r6:c046f298 r5:c0431ee8 r5:c0431ee8<br>> r4:c046f298 r4:c046f298<br>><br>> <c005eb60> <c005eb60> (__run_hrtimer+0x0/0xa4) (__run_hrtimer+0x0/0xa4)<br>> from <c005fbd8> from <c005fbd8> (hrtimer_interrupt+0x168/0x214)<br>> (hrtimer_interrupt+0x168/0x214)<br>> r5:00000044 r5:00000044 r4:04c4ca40 r4:04c4ca40<br>><br>> <c005fa70> <c005fa70> (hrtimer_interrupt+0x0/0x214)<br>> (hrtimer_interrupt+0x0/0x214) from <c0033320> from <c0033320><br>> (mxc_timer_interrupt+0x2c/0x3c)<br>> (mxc_timer_interrupt+0x2c/0x3c)<br>> <c00332f4> <c00332f4> (mxc_timer_interrupt+0x0/0x3c)<br>> (mxc_timer_interrupt+0x0/0x3c) from <c0078938> from <c0078938><br>> (handle_IRQ_event+0x44/0x84)<br>> (handle_IRQ_event+0x44/0x84)<br>> <c00788f4> <c00788f4> (handle_IRQ_event+0x0/0x84)<br>> (handle_IRQ_event+0x0/0x84) from <c007a294> from <c007a294><br>> (handle_level_irq+0x94/0xec)<br>> (handle_level_irq+0x94/0xec)<br>> r7:00000014 r7:00000014 r6:c381dc48 r6:c381dc48 r5:0000001a r5:0000001a<br>> r4:c0433190 r4:c0433190<br>><br>> <c007a200> <c007a200> (handle_level_irq+0x0/0xec)<br>> (handle_level_irq+0x0/0xec) from <c0028048> from <c0028048><br>> (asm_do_IRQ+0x48/0x64)<br>> (asm_do_IRQ+0x48/0x64)<br>> r5:c0433190 r5:c0433190 r4:0000001a r4:0000001a<br>><br>> <c0028000> <c0028000> (asm_do_IRQ+0x0/0x64) (asm_do_IRQ+0x0/0x64) from<br>> <c0338bb0> from <c0338bb0> (__irq_svc+0x30/0x60)<br>> (__irq_svc+0x30/0x60)<br>> Exception stack(0xc381dba8 to 0xc381dbf0)<br>> Exception stack(0xc381dba8 to 0xc381dbf0)<br>> dba0: dba0: 00000014 00000014 c3bd22e0<br>> c3bd22e0 c044c8f8 c044c8f8 40000013 40000013 c3bd22e0 c3bd22e0 00000014<br>> 00000014<br>><br>> dbc0: dbc0: c381dce8 c381dce8 00000014 00000014 00000014 00000014 00000000<br>> 00000000 c3bd22e0 c3bd22e0 c381dc0c c381dc0c c381dc10 c381dc10 c381dbf0<br>> c381dbf0<br>><br>> dbe0: dbe0: c007a294 c007a294 c0078920 c0078920 40000013 40000013 ffffffff<br>> ffffffff<br>><br>> r6:001a0000 r6:001a0000 r5:f4040000 r5:f4040000 r4:ffffffff r4:ffffffff<br>><br>> <c00788f4> <c00788f4> (handle_IRQ_event+0x0/0x84)<br>> (handle_IRQ_event+0x0/0x84) from <c007a294> from <c007a294><br>> (handle_level_irq+0x94/0xec)<br>> (handle_level_irq+0x94/0xec)<br>> r7:00000000 r7:00000000 r6:c381dce8 r6:c381dce8 r5:00000014 r5:00000014<br>> r4:c0433040 r4:c0433040<br>><br>> <c007a200> <c007a200> (handle_level_irq+0x0/0xec)<br>> (handle_level_irq+0x0/0xec) from <c0028048> from <c0028048><br>> (asm_do_IRQ+0x48/0x64)<br>> (asm_do_IRQ+0x48/0x64)<br>> r5:c0433040 r5:c0433040 r4:00000014 r4:00000014<br>><br>> <c0028000> <c0028000> (asm_do_IRQ+0x0/0x64) (asm_do_IRQ+0x0/0x64) from<br>> <c0338bb0> from <c0338bb0> (__irq_svc+0x30/0x60)<br>> (__irq_svc+0x30/0x60)<br>> Exception stack(0xc381dc48 to 0xc381dc90)<br>> Exception stack(0xc381dc48 to 0xc381dc90)<br>> dc40: dc40: 0000001a 0000001a c381c000<br>> c381c000 c046db40 c046db40 20000013 20000013 00000102 00000102 c0433190<br>> c0433190<br>><br>> dc60: dc60: 0000000a 0000000a 00000000 00000000 00000014 00000014 00000000<br>> 00000000 c3bd22e0 c3bd22e0 c381dcac c381dcac c381dcb0 c381dcb0 c381dc90<br>> c381dc90<br>><br>> dc80: dc80: c004cefc c004cefc c004cb8c c004cb8c 20000013 20000013 ffffffff<br>> ffffffff<br>><br>> r6:00140000 r6:00140000 r5:f4040000 r5:f4040000 r4:ffffffff r4:ffffffff<br>><br>> <c004cb44> <c004cb44> (__do_softirq+0x0/0xd4) (__do_softirq+0x0/0xd4)<br>> from <c004cefc> from <c004cefc> (irq_exit+0x4c/0x84)<br>> (irq_exit+0x4c/0x84)<br>> r6:00000000 r6:00000000 r5:c0433190 r5:c0433190 r4:c381c000 r4:c381c000<br>><br>> <c004ceb0> <c004ceb0> (irq_exit+0x0/0x84) (irq_exit+0x0/0x84) from<br>> <c002804c> from <c002804c> (asm_do_IRQ+0x4c/0x64)<br>> (asm_do_IRQ+0x4c/0x64)<br>> r4:0000001a r4:0000001a<br>><br>> <c0028000> <c0028000> (asm_do_IRQ+0x0/0x64) (asm_do_IRQ+0x0/0x64) from<br>> <c0338bb0> from <c0338bb0> (__irq_svc+0x30/0x60)<br>> (__irq_svc+0x30/0x60)<br>> Exception stack(0xc381dce8 to 0xc381dd30)<br>> Exception stack(0xc381dce8 to 0xc381dd30)<br>> dce0: dce0: 00000000 00000000 c3bd22e0<br>> c3bd22e0 00000000 00000000 00000000 00000000 c0079820 c0079820 c0433040<br>> c0433040<br>><br>> dd00: dd00: 40000013 40000013 00000000 00000000 00000014 00000014 00000000<br>> 00000000 c3bd22e0 c3bd22e0 c381dd64 c381dd64 c381dd08 c381dd08 c381dd30<br>> c381dd30<br>><br>> dd20: dd20: c00797fc c00797fc c00791a0 c00791a0 60000013 60000013 ffffffff<br>> ffffffff<br>><br>> r6:001a0000 r6:001a0000 r5:f4040000 r5:f4040000 r4:ffffffff r4:ffffffff<br>><br>> <c0078fa0> <c0078fa0> (setup_irq+0x0/0x28c) (setup_irq+0x0/0x28c) from<br>> <c00792f8> from <c00792f8> (request_irq+0xcc/0xf8)<br>> (request_irq+0xcc/0xf8)<br>> <c007922c> <c007922c> (request_irq+0x0/0xf8) (request_irq+0x0/0xf8) from<br>> <c0238f50> from <c0238f50> (imx_startup+0xb8/0x184)<br>> (imx_startup+0xb8/0x184)<br>> <c0238e98> <c0238e98> (imx_startup+0x0/0x184) (imx_startup+0x0/0x184)<br>> from <c02360c8> from <c02360c8> (uart_startup+0x90/0x194)<br>> (uart_startup+0x90/0x194)<br>> r5:c3b9a800 r5:c3b9a800 r4:00000000 r4:00000000<br>><br>> <c0236038> <c0236038> (uart_startup+0x0/0x194) (uart_startup+0x0/0x194)<br>> from <c0237ecc> from <c0237ecc> (uart_open+0x184/0x45c)<br>> (uart_open+0x184/0x45c)<br>> <c0237d48> <c0237d48> (uart_open+0x0/0x45c) (uart_open+0x0/0x45c) from<br>> <c02211b4> from <c02211b4> (tty_open+0x188/0x2e0)<br>> (tty_open+0x188/0x2e0)<br>> <c022102c> <c022102c> (tty_open+0x0/0x2e0) (tty_open+0x0/0x2e0) from<br>> <c00a9834> from <c00a9834> (chrdev_open+0x120/0x164)<br>> (chrdev_open+0x120/0x164)<br>> <c00a9714> <c00a9714> (chrdev_open+0x0/0x164) (chrdev_open+0x0/0x164)<br>> from <c00a4d60> from <c00a4d60> (__dentry_open+0x158/0x274)<br>> (__dentry_open+0x158/0x274)<br>> r7:c00a9714 r7:c00a9714 r6:00000000 r6:00000000 r5:c342c410 r5:c342c410<br>> r4:c3b715a0 r4:c3b715a0<br>><br>> <c00a4c08> <c00a4c08> (__dentry_open+0x0/0x274)<br>> (__dentry_open+0x0/0x274) from <c00a4eb4> from <c00a4eb4><br>> (nameidata_to_filp+0x38/0x50)<br>> (nameidata_to_filp+0x38/0x50)<br>> <c00a4e7c> <c00a4e7c> (nameidata_to_filp+0x0/0x50)<br>> (nameidata_to_filp+0x0/0x50) from <c00b2164> from <c00b2164><br>> (do_filp_open+0x354/0x6e0)<br>> (do_filp_open+0x354/0x6e0)<br>> r4:00000000 r4:00000000<br>><br>> <c00b1e10> <c00b1e10> (do_filp_open+0x0/0x6e0) (do_filp_open+0x0/0x6e0)<br>> from <c00a4b1c> from <c00a4b1c> (do_sys_open+0x5c/0xec)<br>> (do_sys_open+0x5c/0xec)<br>> <c00a4ac0> <c00a4ac0> (do_sys_open+0x0/0xec) (do_sys_open+0x0/0xec) from<br>> <c00a4be4> from <c00a4be4> (sys_open+0x24/0x28)<br>> (sys_open+0x24/0x28)<br>> r8:00000000 r8:00000000 r7:00000000 r7:00000000 r6:00000000 r6:00000000<br>> r5:c0021fd0 r5:c0021fd0 r4:c044bcf8 r4:c044bcf8<br>><br>> <c00a4bc0> <c00a4bc0> (sys_open+0x0/0x28) (sys_open+0x0/0x28) from<br>> <c0028444> from <c0028444> (init_post+0x30/0x104)<br>> (init_post+0x30/0x104)<br>> <c0028414> <c0028414> (init_post+0x0/0x104) (init_post+0x0/0x104) from<br>> <c000893c> from <c000893c> (kernel_init+0xb4/0xd8)<br>> (kernel_init+0xb4/0xd8)<br>> r4:c044bcf8 r4:c044bcf8<br>><br>> <c0008888> <c0008888> (kernel_init+0x0/0xd8) (kernel_init+0x0/0xd8) from<br>> <c004ab48> from <c004ab48> (do_exit+0x0/0x798)<br>> (do_exit+0x0/0x798)<br>> r5:00000000 r5:00000000 r4:00000000 r4:00000000<br>><br>><br>><br>Are you getting any extra output (that you didn't have before patching<br>the serial driver)?<br>Ie it could be that you were always getting this lockup just at the<br>wrong baud rate so you couldn't see it.<br><br>Please try the following patch instead:<br>And look for the @HACK@ output.<br>That should show if someone else is trying to set the serial port wrongly.<br><br><br>diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c<br>index 18130f1..0bf841e 100644<br>--- a/drivers/serial/imx.c<br>+++ b/drivers/serial/imx.c<br>@@ -573,6 +573,7 @@ static int imx_setup_ufcr(struct imx_port *sport,<br>unsigned int mode)<br> unsigned int val;<br> unsigned int ufcr_rfdiv;<br><br>+#if 0<br> /* set receiver / transmitter trigger level.<br> * RFDIV is set such way to satisfy requested uartclk value<br> */<br>@@ -586,7 +587,9 @@ static int imx_setup_ufcr(struct imx_port *sport,<br>unsigned int mode)<br> val |= UFCR_RFDIV_REG(ufcr_rfdiv);<br><br> writel(val, sport->port.membase + UFCR);<br>-<br>+#else<br>+ printk(KERN_INFO "@HACK@ ignoring imx_setup_ufcr %d\n",<br>sport->port.line);<br>+#endif<br> return 0;<br> }<br><br>@@ -789,6 +792,7 @@ imx_set_termios(struct uart_port *port, struct<br>ktermios *termios,<br> unsigned long num, denom;<br> uint64_t tdiv64;<br><br>+#if 0<br> /*<br> * If we don't support modem control lines, don't allow<br> * these to be set.<br>@@ -931,6 +935,13 @@ imx_set_termios(struct uart_port *port, struct<br>ktermios *termios,<br> imx_enable_ms(&sport->port);<br><br> spin_unlock_irqrestore(&sport->port.lock, flags);<br>+#else<br>+ printk(KERN_INFO "@HACK@ ignoring imx_set_termios %d baud=%d<br>flags=%X\n",<br>+ sport->port.line,<br>+ uart_get_baud_rate(port, termios, old, 50, port->uartclk / 16),<br>+ termios->c_cflag);<br>+#endif<br>+<br> }<br><br> static const char *imx_type(struct uart_port *port)<br><br>_______________________________________________<br>linux-arm mailing list<br>linux-arm@lists.infradead.org<br><a href="http://lists.infradead.org/mailman/listinfo/linux-arm">http://lists.infradead.org/mailman/listinfo/linux-arm</a><br></c004ab48></c004ab48></c0008888></c0008888></c000893c></c000893c></c0028414></c0028414></c0028444></c0028444></c00a4bc0></c00a4bc0></c00a4be4></c00a4be4></c00a4ac0></c00a4ac0></c00a4b1c></c00a4b1c></c00b1e10></c00b1e10></c00b2164></c00b2164></c00a4e7c></c00a4e7c></c00a4eb4></c00a4eb4></c00a4c08></c00a4c08></c00a4d60></c00a4d60></c00a9714></c00a9714></c00a9834></c00a9834></c022102c></c022102c></c02211b4></c02211b4></c0237d48></c0237d48></c0237ecc></c0237ecc></c0236038></c0236038></c02360c8></c02360c8></c0238e98></c0238e98></c0238f50></c0238f50></c007922c></c007922c></c00792f8></c00792f8></c0078fa0></c0078fa0></c0338bb0></c0338bb0></c0028000></c0028000></c002804c></c002804c></c004ceb0></c004ceb0></c004cefc></c004cefc></c004cb44></c004cb44></c0338bb0></c0338bb0></c0028000></c0028000></c0028048></c0028048></c007a200></c007a200></c007a294></c007a294></c00788f4></c00788f4></c0338bb0></c0338bb0></c0028000></c0028000></c0028048></c0028048></c007a200></c007a200></c007a294></c007a294></c00788f4></c00788f4></c0078938></c0078938></c00332f4></c00332f4></c0033320></c0033320></c005fa70></c005fa70></c005fbd8></c005fbd8></c005eb60></c005eb60></c005ebb8></c005ebb8></c006500c></c006500c></c0065098></c0065098></c0051a64></c0051a64></c0051a90></c0051a90></c00515e8></c00515e8></c0051604></c0051604></c0078348></c0078348></c0078450></c0078450></c0029d40></c0029d40></c007a294></c0078920></c007a294></c0078920></pre>
</mfuzzey@gmail.com></blockquote></div><div></div></font><pre>=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
</pre>