[#6465] TTYBF causes lockups and workqueue failures.
Submitted By: Chris Brissette
Open Date
2011-01-28 09:11:15
Priority:
Low Assignee:
Sonic Zhang
Status:
Open Fixed In Release:
N/A
Found In Release:
2010R1 Release:
Category:
Drivers Board:
STAMP
Processor:
BF537 Silicon Revision:
3
Is this bug repeatable?:
Yes Resolution:
Upstream
Uboot version or rev.:
Toolchain version or rev.:
2010R1
App binary format:
N/A
Summary: TTYBF causes lockups and workqueue failures.
Details:
For details see forum:
kernel: Linux release 2.6.34.7-ADI-2010R1-svn9519, build #305 Tue Dec 14 11:41:38 EST 2010
toolchain: bfin-uclinux-gcc release gcc version 4.3.5 (ADI-2010R1-RC4)
user-dist: release svn-9993, build #147 Tue Dec 14 11:40:50 EST 2010
Doesn't fail on 2009r1.1
Test program that reproduces failure is in the forum. Reproduced on BF537-Stamp and custom 537 hardware.
Seems like it reproduces quicker the more drivers that you add. (Nand, USB, Wifi ect)
Follow-ups
--- Sonic Zhang 2011-02-10 02:37:44
Yes, we can replicate by your test application on bf537-stamp with SVN trunk
kernel. It looks sometimes the tty buffer work is not deleted properly after the
timer is triggered. This has nothing to do with the serial driver directly.
--- Tomasz Motylewski 2011-04-11 09:27:54
I have reproduced this or very similar bug (kernel BUG at
kernel/workqueue.c:991) not using ttyBF* but ttyS* 4-port UART16750 implemented
with FPGA using single GPIO-IRQ. Standard 8250.ko driver.
------------[ cut here ]------------
kernel BUG at kernel/workqueue.c:991!
Kernel panic - not syncing: BUG()
Hardware Trace:
0 Target : <0x00003fc0> { _trap_c + 0x0 }
Source : <0xffa00744> { _exception_to_level5 + 0xa4 } JUMP.L
1 Target : <0xffa006a0> { _exception_to_level5 + 0x0 }
Source : <0xffa00554> { _bfin_return_from_exception + 0x18 } RTX
2 Target : <0xffa0053c> { _bfin_return_from_exception + 0x0 }
Source : <0xffa005f8> { _ex_trap_c + 0x74 } JUMP.S
3 Target : <0xffa00584> { _ex_trap_c + 0x0 }
Source : <0xffa0080a> { _trap + 0x5a } JUMP (P4)
4 Target : <0xffa007b0> { _trap + 0x0 }
FAULT : <0x0001f508> { ___queue_work + 0x19c } BUG
Source : <0x0001f3a0> { ___queue_work + 0x34 } IF !CC JUMP pcrel
5 Target : <0x0001f398> { ___queue_work + 0x2c }
Source : <0x0001f4d4> { ___queue_work + 0x168 } JUMP.S
6 Target : <0x0001f4be> { ___queue_work + 0x152 }
Source : <0x0001f446> { ___queue_work + 0xda } IF CC JUMP pcrel
(BP)
7 Target : <0x0001f444> { ___queue_work + 0xd8 }
Source : <0x0001f37e> { ___queue_work + 0x12 } IF CC JUMP pcrel
8 Target : <0x0001f36c> { ___queue_work + 0x0 }
Source : <0x00020b90> { _flush_delayed_work + 0x28 } CALL pcrel
9 Target : <0x00020b88> { _flush_delayed_work + 0x20 }
Source : <0x00020ba4> { _flush_delayed_work + 0x3c } JUMP.S
10 Target : <0x00020ba0> { _flush_delayed_work + 0x38 }
Source : <0x00020b84> { _flush_delayed_work + 0x1c } IF !CC JUMP
pcrel (BP)
11 Target : <0x00020b76> { _flush_delayed_work + 0xe }
Source : <0x000196c2> { _del_timer + 0x72 } RTS
12 Target : <0x000196b4> { _del_timer + 0x64 }
Source : <0x000196ae> { _del_timer + 0x5e } IF !CC JUMP pcrel (BP)
13 Target : <0x000196a8> { _del_timer + 0x58 }
Source : <0x00019692> { _del_timer + 0x42 } JUMP.S
14 Target : <0x0001965e> { _del_timer + 0xe }
Source : <0xffa00cf8> { __common_int_entry + 0xcc } RTI
15 Target : <0xffa00c96> { __common_int_entry + 0x6a }
Source : <0xffa00ae0> { _return_from_int + 0x58 } RTS
Stack info:
SP: [0x00ff189c] <0x00ff189c> /* kernel dynamic memory (maybe
user-space) */
FP: (0x00ff1aac)
Memory from 0x00ff1890 to 00ff2000
00ff1890: 00000021 00ff189c 00000013 [00169728] 00131688 00ff1994 00169728
0019f3cf
00ff18b0: 0019f3cf 0019f3cf 00ff18e4 00ff1de0 00004434 00ff1994 ffe02014
00000000
00ff18d0: 0000ffc0 00000021 00000021 00000013 00000000 0000003f 0000003f
001a3de4
00ff18f0: 00ff1924 00000100 0000065d 15d0cac4 0000065d 15d0cac4 00000000
15d0cac4
00ff1910: 00ff0000 001a4bf0 001a49f0 001a47f0 001a45f0 00ff1924 00ff1924
001a3cbc
00ff1930:<00015d1a> 00000001 001a3cc8 00ff0000 00000001 00000004
00000100 00015d26
00ff1950: 00026e50 00036156 001afccc 00000000 00000000 00000006 00ff1de0
ffa00386
00ff1970: ffa00748 0019c000 00008008 00000021 00ff1da0 00000018 00000018
00000000
00ff1990: 00000480 00000480 00008008 00000021 00000000 00ff1a70 00000480
0001f508
00ff19b0: 00020b94 001af1b4 02002002 0020b7ad ffa016cc 0020b784 ffa016ca
00000000
00ff19d0: 00000000 00000308 00000000 0005f308 00000000 00000000 00000000
00000000
00ff19f0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
00ff1a10: 0000000c 0021e3ac 000006e8 00305c48 001ac6ac 00305bac 00ff1de0
00c454a8
00ff1a30: 020160c0 00000000 0200b000 001af1b4 0200b000 0000ffff 02e56f40
00ff1da0
00ff1a50: 00000018 0000ffff 00c454a8 00c454ac 001af1b4 001af1b4 0200b000
00000006
00ff1a70: 00000018 00177370 00000000 000000a8 00020b94 00c454a8 00000000
00000001
00ff1a90: 001af490 00000000 00000000 000ab9de 00c45400 010dc5c0 00ff1b44
(00000000)
00ff1ab0:<000a865e> 02e56f40 00fb0ae0 00c45400 00000000 00ff1de0
<00055608> 00ff1dc0
00ff1ad0:<00055608> 00ff1dc8 02e56f40 00000000 00000000 001ac6ac
00305bac 000001ff
00ff1af0: 0000c350 00ff0000 00ff1b04 00000001 0000c350 15cf3680 0000065d
00000000
00ff1b10: 000001ff 00055802 00ff1b44 00000007 00000000 00000038 00000000
00305c10
00ff1b30: 00305c10 00000001 00ff1da0 00ff1b44 00ff1ed4 00055370 0000001b
00000000
00ff1b50: 001f02e0 00000000 00000000 0000000b 02bdaa20 0000001b 00000000
00ff1b44
00ff1b70: 00055434 010d14f0 010d14f0 010d14f0 02bdaa20 0000001b 00000000
00ff1b44
00ff1b90: 00055434 010d14e8 010d14e8 010d14e8 02bda2a0 0000001b 00000000
00ff1b44
00ff1bb0: 00055434 00fb0a00 00fb0a00 00fb0a00 02bda3a0 0000001b 00000000
00ff1b44
00ff1bd0: 00055434 00c0d560 00c0d560 00c0d560 02e56240 0000001b 00000000
00ff1b44
00ff1bf0: 00055434 03113cc8 03113cc8 03113cc8 02e56240 0000001b 00000000
00ff1b44
00ff1c10: 00055434 03113ce8 03113ce8 03113ce8 02e56f40 0000001b 00000000
00ff1b44
00ff1c30: 00055434 00c454f0 00c454f0 00c454f0 02e56f40 0000001b 00000000
00ff1b44
00ff1c50: 00055434 00c454e8 00c454e8 00c454e8 02bdab20 0000001b 00000000
00ff1b44
00ff1c70: 00055434 00c450f0 00c450f0 00c450f0 02bdab20 0000001b 00000000
00ff1b44
00ff1c90: 00055434 00c450e8 00c450e8 00c450e8 02bdada0 0000001b 00000000
00ff1b44
00ff1cb0: 00055434 00c0d5a0 00c0d5a0 00c0d5a0 14eccc02 0000065d 14f5317e
14ec1801
00ff1cd0: ffffffff 7fffffff 14eccc02 0000065d 14f5317e 0002e9ee 001af464
001af464
00ff1cf0: 00ff1d40 0000065d 0000065d 14f5317e 0000065d 001af464 001ac6ac
00000000
00ff1d10: 00000000 0002722e 0000065d 00000000 00000000 00000011 000197f8
0000065d
00ff1d30: 14ebf5a5 0000065d 14ebf5a5 00000000 14ebf5a5 00ff0000 001a4bf0
001a49f0
00ff1d50: 001a47f0 001a45f0 00ff1d58 00ff1d58 001a3cbc <00015d1a>
00000001 001a3cc8
00ff1d70: 00ff0000 00000001 00000004 00000100 00015d26 00000001 00036156
001afccc
00ff1d90: 00000135 00305d00 00000006 00305bc0 00000000 00000007 00000000
00000003
00ff1db0: 0000000c 00000003 0000000d 00000003 00000004 00000003 00000008
00000003
00ff1dd0: 00000009 00000003 0000000b 00000003 0000065c 00ff1e1c 000556dc
00008050
00ff1df0: 00000000 00000000 00ff2000 0020ebf0 000556dc 0005586c 00000006
02003025
00ff1e10: 0020b7ad 0021053f 0020b784 00210532 00000000 00000000 00000000
00000000
00ff1e30: 00000000 00000000 00000000 00000000 00000000 00000000 0000001f
00000000
00ff1e50: 514afd58 00000000 2c9c2bc7 b5f74444 00305bc0 000551e8 0000001f
00000135
00ff1e70: 514b7c00 00000000 2c9c2bc7 b5f74444 00305bc0 00055298 00ff1ed4
00000135
00ff1e90: 00305d00 00000000 001e8480 00000000 00305bc0 0005586c 00000000
00000135
00ff1eb0: 00305d00 00ff1ed4 00305bb8 00305c10 00000007 00000010 00ff1edc
00ff1ed4
00ff1ed0: 00000000 0000065d 15cf3680 00000000 001e8480 00000000 0000005c
<ffa00942>
00ff1ef0: 000d3d1c <ffa00942> 00055848 00000000 ffffe000 00000007
00000008 00305d30
00ff1f10: 00000002 00305c10 00000000 00000008 00000007 0020ebf0 00008000
00000000
00ff1f30: 00000000 00ff2000 0020ebf0 0020ebf0 0020ebbc ffa01050 02003004
0020b7ad
00ff1f50: 0021053f 0020b784 00210532 00000000 00000000 000004af 00000000
00014c57
00ff1f70: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
00ff1f90: 00000000 00000000 00000000 00000000 0000000c 0021e3ac 000006e8
00000001
00ff1fb0: 00305c10 00305bac 00305bc0 002e5c2c 0022182c 00305d00 00305bb8
00000007
00ff1fd0: 00000135 00000002 00305c10 00000007 00000008 00000000 00305bb8
00000007
00ff1ff0: 00305c10 00305c10 00000135 00000006
Return addresses in stack:
address : <0x00015d1a> { ___do_softirq + 0x76 }
frame 1 : <0x000a865e> { _tty_poll + 0x4a }
address : <0x00055608> { _do_poll + 0xa0 }
address : <0x00055608> { _do_poll + 0xa0 }
address : <0x00015d1a> { ___do_softirq + 0x76 }
address : <0xffa00942> { _system_call + 0x6a }
address : <0xffa00942> { _system_call + 0x6a }
--- Sonic Zhang 2011-04-12 01:47:35
So, this bug should be reported upstream.
--- Tomasz Motylewski 2011-04-14 09:29:48
This was using linux-kernel snapshot r9700. I will test current ADI HEAD (r9834)
today. Unfortunately takes several hours to reproduce so it is hard to be sure.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found