[#4594] GPIO bank caculating error cause kernel booting fail on BF548
Submitted By: Bryan Wu
Open Date
2008-11-03 02:49:28 Close Date
2008-11-03 05:12:32
Priority:
Medium High Assignee:
Bryan Wu
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
Category:
N/A Board:
EZKIT Lite
Processor:
BF548 Silicon Revision:
0.2
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
App binary format:
N/A
Summary: GPIO bank caculating error cause kernel booting fail on BF548
Details:
I introduced this bug when try to fix a GPIO bug on BF518 in svn rev 5561
---
Linux version 2.6.28-rc2-ADI-2009R1-pre-svn5561 (roc@roc-desktop) (gcc version 4.1.2 (ADI svn)) #15 Mon Nov 3 14:38:52 CST 2008
console [early_BFuart0] enabled
early printk enabled on early_BFuart0
Board Memory: 64MB
Kernel Managed Memory: 64MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x001b94d0
rodata = 0x001b94e0-0x00247f58
bss = 0x00247f60-0x0025f298
data = 0x0025f298-0x00278000
stack = 0x00276000-0x00278000
init = 0x00278000-0x00b7f000
available = 0x00b7f000-0x03dff000
DMA Zone = 0x03e00000-0x04000000
Hardware Trace Active and Enabled
Blackfin support (C) 2004-2008 Analog Devices, Inc.
Compiled for ADSP-BF548 Rev 0.0
Warning: Compiled for Rev 0, but running on Rev 1
Blackfin Linux support by blackfin.uclinux.org/
Processor Speed: 525 MHz core clock and 131 MHz System Clock
NOMPU: setting up cplb tables for global access
Instruction Cache Enabled
Data Cache Enabled (write-through)
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 15747
Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart1,57600 console=tty0 console=ttyBF0,57600 ip=192.168.0.66:192.168.0.55:10.100.4.174:255.255.255.0:bf548-ezkit:eth0:of
Configuring Blackfin Priority Driven Interrupts
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x25
console [tty0] enabled
console handover: boot [early_BFuart0] -> real [ttyBF0]
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory available: 51128k/65536k RAM, (9244k init code, 1761k kernel code, 763k data, 2048k dma, 588k reserved)
Calibrating delay loop... 1046.52 BogoMIPS (lpj=2093056)
Security Framework initialized
Mount-cache hash table entries: 512
Blackfin Scratchpad data SRAM: 4 KB
Blackfin L1 Data A SRAM: 16 KB (15 KB free)
Blackfin L1 Data B SRAM: 16 KB (16 KB free)
Blackfin L1 Instruction SRAM: 48 KB (42 KB free)
Blackfin L2 SRAM: 128 KB (128 KB free)
net_namespace: 288 bytes
NET: Registered protocol family 16
Blackfin GPIO Controller
Blackfin DMA Controller
ezkit_init(): registering device resources
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
musb_hdrc: version 6.0, musb-dma, peripheral, debug=0
musb_hdrc: USB Peripheral mode controller at ffc03c00 using DMA, IRQ 82
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
msgmni has been set to 99
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler cfq registered
bf54x-lq043: FrameBuffer initializing...
dma_alloc_init: dma_page @ 0x031c6000 - 512 pages at 0x03e00000
Console: switching to colour frame buffer device 80x24
bfin-otp: initialized
Serial: Blackfin serial driver
bfin-uart.1: ttyBF0 at MMIO 0xffc02000 (irq = 48) is a BFIN-UART
brd: module loaded
smsc911x: Driver version 2007-07-13.
irq 175: nobody cared (try booting with the "irqpoll" option)
Hardware Trace:
0 Target : <0x00004908> { _dump_stack + 0x0 }
Source : <0x0002a5cc> { ___report_bad_irq + 0x1c } CALL pcrel
1 Target : <0x0002a5cc> { ___report_bad_irq + 0x1c }
Source : <0x0002a62a> { ___report_bad_irq + 0x7a } JUMP.S
2 Target : <0x0002a62a> { ___report_bad_irq + 0x7a }
Source : <0x0000db3e> { _printk + 0x16 } RTS
3 Target : <0x0000db3a> { _printk + 0x12 }
Source : <0x0000e378> { _vprintk + 0x130 } RTS
4 Target : <0x0000e36c> { _vprintk + 0x124 }
Source : <0x0000e35e> { _vprintk + 0x116 } IF !CC JUMP
5 Target : <0x0000e358> { _vprintk + 0x110 }
Source : <0x0000e49c> { _vprintk + 0x254 } JUMP.S
6 Target : <0x0000e49c> { _vprintk + 0x254 }
Source : <0x0000d9ae> { _wake_up_klogd + 0x1a } RTS
7 Target : <0x0000d9ae> { _wake_up_klogd + 0x1a }
Source : <0x0000d9a0> { _wake_up_klogd + 0xc } IF !CC JUMP
8 Target : <0x0000d994> { _wake_up_klogd + 0x0 }
Source : <0x0000ddc8> { _release_console_sem + 0x1b0 } JUMP.L
9 Target : <0x0000ddc0> { _release_console_sem + 0x1a8 }
Source : <0x0000ddb4> { _release_console_sem + 0x19c } IF !CC JUMP
10 Target : <0x0000ddb0> { _release_console_sem + 0x198 }
Source : <0x0000dda2> { _release_console_sem + 0x18a } IF !CC JUMP
11 Target : <0x0000dd9c> { _release_console_sem + 0x184 }
Source : <0x0002075c> { _up + 0x3c } RTS
12 Target : <0x00020756> { _up + 0x36 }
Source : <0x00020748> { _up + 0x28 } IF !CC JUMP
13 Target : <0x00020720> { _up + 0x0 }
Source : <0x0000dd98> { _release_console_sem + 0x180 } CALL pcrel
14 Target : <0x0000dd84> { _release_console_sem + 0x16c }
Source : <0x0000dc6a> { _release_console_sem + 0x52 } IF !CC JUMP
15 Target : <0x0000dc3a> { _release_console_sem + 0x22 }
Source : <0x0000dd66> { _release_console_sem + 0x14e } IF !CC JUMP
Stack info:
SP: [0x00c1da90] <0x00c1da90> /* kernel dynamic memory */
FP: (0x00c1daa8)
Memory from 0x00c1da90 to 00c1e000
00c1da90:[002600fc]<0002a5d0> 00266604 00000000 00000000 000000af (00000000)<0002a740>
00c1dab0: 00266604 031e5500 000000af 00000000 <0002b1be> 00266604 000000af 00251940
00c1dad0: 00000001 00000078 00000066 0024af74 <000298b2><0002af74> 00263e68 <000083d6>
00c1daf0: 00263d00 00c1c000 00c1dc80 0000ffff 0000000a <ffa002f0> 002560e0 00000066
00c1db10: 00c1dc80 0000ffff 0000000a 00000000 00000000 80000000 <ffa00b92> 002560e0
00c1db30: 00000082 00000000 00000010 002624f4 <00015324> 000119bc 00000100 00000026
00c1db50: 00000000 00c1ddb0 000f3a08 000119bc <ffa0031e> 0000000b 02002000 0000b8c2
00c1db70: 000c8084 0000b8ac 000c8084 00000000 00000000 00000000 00000000 00000000
00c1db90: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00c1dbb0: 00000000 00000000 00000000 00000000 00000000 00000000 fffedbed 00000000
00c1dbd0: ffffffff 00000000 00000001 002560e0 00c1c000 00251940 00260800 003d0900
00c1dbf0: 00c1ed40 00000082 00000000 0000ffff 0000000a 00000000 00000100 00000100
00c1dc10: 0000ffff 0000ffff 00c1ed40 00000006 <0002af74> 00263e68 00000006 031e5500
00c1dc30: 00000006 00260f48 <ffa0031e> 002560e0 0026661c 031e5500 00000006 00000000
00c1dc50: 0000ffff 000f4c38 00000000 00000000 80000000 <ffa00b92> 00266604 031e5500
00c1dc70: 000000af 00000000 00000000 00000000 00029ffc 00008050 00000026 00000000
00c1dc90: 00c1ddb0 000f3a08 00029ffc <0002a0d0> 00000006 00003004 000f00f8 000c8084
00c1dcb0: 000f00e2 000c8084 00000001 00000000 00000000 00000000 00000000 00000000
00c1dcd0: 00000000 00000000 00000000 000005a0 00000000 00000000 00000000 00000000
00c1dcf0: 00000000 00000000 00000000 00000000 00001680 00000001 03e58f20 00000400
00c1dd10: 00000000 00260f48 00266604 0026661c 031e5500 00260800 031e5500 00000005
00c1dd30: 031e5500 000000af 0000ffff 000f4c38 00000008 01000000 00000000 0000ffff
00c1dd50: 0000ffff 00000005 00000006 <0016d88e> 00260f50 00c29000 00000114 <0002a154>
00c1dd70: 00266604 00c29000 000000af 00000028 00000000 <0017919a> 00260f50 0026d49c
00c1dd90:<000f3ba4> 00c29000 00c29380 00261e54 002056bc 00000000 0026d49c 00000000
00c1ddb0: 00260f50 002056bc 0021de60 002056bc 00c29000 0026d49c <00071286> 00000001
00c1ddd0: 0026d49c <000ef5b6> 00260f50 0026d49c 0025a958 00260ffc 000000ac 0026d49c
00c1ddf0: 00000000 <001b6252><001b627a> 00260e64 <000ef710> 00260f50 0026d49c 002a245c
00c1de10: 00260ffc 0026d340 002a245c 00000000 <000eed94> 000ef6a0 0026d340 00000000
00c1de30: 00c1de40 03cc83c0 <000c3b70> 00247f84 03dfb5d8 00260f98 <000ef45e> 00247f84
00c1de50: 00000000 03cc83c0 00000000 00c1de80 00c1de80 <000ef15a> 000ef6a0 <000ef178>
00c1de70:<0016f72a> 00c1de90 00294fc0 0022cbf8 002056bc 00000000 <000ef86c> 00247f84
00c1de90: 0026d49c 002a245c 00000000 00000000 00247f84 00000007 00000001 <0000102c>
00c1deb0: 00247f84 002950c4 00000000 00000000 00000000 00000000 00000000 03dfd220
00c1ded0: ffffffff 00c1df04 <000c2ea6> 00267a68 00253fec 00254afc <000c2f1a> 03dfb6a4
00c1def0: 00000000 0000021c 00254afc 000000d0 00c1df04 00c19f28 00000000 00000000
00c1df10: 002a245c <000c3082> 00254afc 00253fec 00000000 <0006c2b8> 00267a68 00253fec
00c1df30: 002a245c 00c1df58 03dd0c20 03dce120 00000000 00000000 00263d78 00c1df58
00c1df50:<00207cf0><0006c4e0> 0000021c <0006c4ee> 00267a68 03dd0c20 00004000 00000000
00c1df70: 00000000 00c1df98 7fffff00 00000001 <0002b618> 00c1df98 00000106 <0006c5b2>
00c1df90: 002a216c 03dce120 00323632 00000000 00290000 <0002b676> 00263cfc 002a216c
00c1dfb0: 00000106 00267a68 <002783ba> 002a2348 002a216c 00000000 00000000 00000000
00c1dfd0: 00000000 00000000 00000000 00000000 00000001 <00001466> 00000000 00000000
00c1dff0: 00000000 00000000 ffffffff 00000006 03df73e8
Return addresses in stack:
address : <0x0002a5d0> { ___report_bad_irq + 0x20 }
frame 1 : <0x0002a740> { _note_interrupt + 0x114 }
address : <0x0002b1be> { _handle_level_irq + 0xa2 }
address : <0x000298b2> { _handle_IRQ_event + 0x3a }
address : <0x0002af74> { _handle_simple_irq + 0x78 }
address : <0x000083d6> { _bfin_demux_gpio_irq + 0x86 }
address : <0xffa002f0> { _asm_do_IRQ + 0x38 }
address : <0xffa00b92> { __common_int_entry + 0x62 }
address : <0x00015324> { _do_timer + 0x30 }
address : <0xffa0031e> { _asm_do_IRQ + 0x66 }
address : <0x0002af74> { _handle_simple_irq + 0x78 }
address : <0xffa0031e> { _asm_do_IRQ + 0x66 }
address : <0xffa00b92> { __common_int_entry + 0x62 }
address : <0x0002a0d0> { ___setup_irq + 0x18c }
address : <0x0016d88e> { _alloc_netdev_mq + 0x4a }
address : <0x0002a154> { _request_irq + 0x80 }
address : <0x0017919a> { _alloc_etherdev_mq + 0x1a }
address : <0x000f3ba4> { _smsc911x_drv_probe + 0x270 }
address : <0x00071286> { _create_dir + 0x3a }
address : <0x000ef5b6> { _driver_probe_device + 0x82 }
address : <0x001b6252> { _klist_next + 0x26 }
address : <0x001b627a> { _klist_next + 0x4e }
address : <0x000ef710> { ___driver_attach + 0x70 }
address : <0x000eed94> { _bus_for_each_dev + 0x3c }
address : <0x000c3b70> { _kobject_init_and_add + 0x24 }
address : <0x000ef45e> { _driver_attach + 0x1a }
address : <0x000ef15a> { _bus_add_driver + 0x66 }
address : <0x000ef178> { _bus_add_driver + 0x84 }
address : <0x0016f72a> { _netdev_boot_base + 0x2a }
address : <0x000ef86c> { _driver_register + 0x40 }
address : <0x0000102c> { _do_one_initcall + 0x2c }
address : <0x000c2ea6> { _ida_get_new_above + 0x96 }
address : <0x000c2f1a> { _ida_get_new_above + 0x10a }
address : <0x000c3082> { _ida_pre_get + 0xe }
address : <0x0006c2b8> { _proc_register + 0x30 }
address : <0x00207cf0> /* kernel dynamic memory */
address : <0x0006c4e0> { _create_proc_entry + 0x3c }
address : <0x0006c4ee> { _create_proc_entry + 0x4a }
address : <0x0002b618> { _register_irq_proc + 0x80 }
address : <0x0006c5b2> { _proc_mkdir_mode + 0x2e }
address : <0x0002b676> { _init_irq_proc + 0x42 }
address : <0x002783ba> { _kernel_init + 0x8a }
address : <0x00001466> { _kernel_thread_helper + 0x6 }
handlers:
[<000f4c38>] (_smsc911x_irqhandler+0x0/0x1a8)
Disabling IRQ #175
eth0: SMSC911x MAC Address: 00:e0:22:fe:b9:55
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
register bfin atapi driver
Data access CPLB miss
- Used by the MMU to signal a CPLB miss on a data access.
Kernel OOPS in progress
Deferred Exception context
CURRENT PROCESS:
COMM=swapper PID=1
invalid mm
return address: [0x00005b78]; contents of:
0x00005b50: 9710 307d 1c30 c682 81e4 6408 3210 e148
0x00005b60: 001b e108 9c9c 6019 305c 4451 5a81 9152
0x00005b70: 4f0b 3001 4098 43c0 [a1d2] 5479 5482 4099
0x00005b80: 560a e148 001b e108 9c9c 5a81 9152 6009
SEQUENCER STATUS: Not tainted
SEQSTAT: 00060026 IPEND: 8030 SYSCFG: 0006
EXCAUSE : 0x26
physical IVG15 asserted : <0xffa00d58> { _evt_system_call + 0x0 }
logical irq 6 mapped : <0xffa0036c> { _timer_interrupt + 0x0 }
logical irq 9 mapped : <0x000d71d8> { _bfin_bf54x_irq_error + 0x0 }
logical irq 82 mapped : <0x001356ac> { _blackfin_interrupt + 0x0 }
logical irq 85 mapped : <0x001380e0> { _dma_controller_irq + 0x0 }
logical irq 175 mapped : <0x000f4c38> { _smsc911x_irqhandler + 0x0 }
RETE: <0x00000000> /* Maybe null pointer? */
RETN: <0x00c1dd58> /* kernel dynamic memory */
RETX: <0x00000480> /* Maybe fixed code section */
RETS: <0x00005d08> { _peripheral_request_list + 0x28 }
PC : <0x00005b78> { _peripheral_request + 0x10c }
DCPLB_FAULT_ADDR: <0x6972658c> /* kernel dynamic memory */
ICPLB_FAULT_ADDR: <0x0000001f> /* Maybe null pointer? */
PROCESSOR STATE:
R0 : ffffff3f R1 : 00000003 R2 : 00008093 R3 : 00000006
R4 : 00000093 R5 : 00000093 R6 : 00223ff8 R7 : 00000000
P0 : 001b9c9c P1 : 00000028 P2 : 69726570 P3 : 00000093
P4 : 00000003 P5 : 00000000 FP : 0000ffff SP : 00c1dc7c
LB0: 000c8084 LT0: 000c8084 LC0: 00000000
LB1: 0003a5cc LT1: 0003a5c6 LC1: 00000000
B0 : 000005a0 L0 : 00000000 M0 : 00000000 I0 : 00000000
B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : 03e58f20
B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 00000001
B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00001680
A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
USP : 00000000 ASTAT: 00002002
No trace since you do not have CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE enabled
Kernel Stack
Stack info:
SP: [0x00c1dd10] <0x00c1dd10> /* kernel dynamic memory */
FP: (0x00c1ddf0)
Memory from 0x00c1dd10 to 00c1e000
00c1dd10:[0000ffff] 00000000 00000003 00000093 69726570 00000028 001b9c9c 00000000
00c1dd30: 00223ff8 00000093 00000093 00000006 00008093 00000003 ffffff3f ffffff3f
00c1dd50: 001b9c9c 00000006 <001b8678><000f122a><00070db8><0010402a> 03203f14 00000001
00c1dd70: 03203eec <00005d08> 0026dfe4 002611b0 0025a958 00000000 00000001 00223ff8
00c1dd90: 00000000 002611b8 00000000 00c2ba04 <001b707e> 0026df78 07d2b750 00261f04
00c1ddb0: 002611b8 0026dfb4 00000000 00261220 002a245c 0026dfb4 0026df78 00000000
00c1ddd0: 0026dfb4 <000ef5b6> 002611b8 0026dfb4 0025a958 00261264 000000ac 0026dfb4
00c1ddf0:(00000000)<001b6252><001b627a> 002610cc <000ef710> 002611b8 0026dfb4 002a245c
00c1de10: 00261264 0026d340 002a245c 00000000 <000eed94> 000ef6a0 0026d340 00000000
00c1de30: 00c1de40 03cc8240 <000c3b70> 00247f84 03dfb5d8 00261200 <000ef45e> 00247f84
00c1de50: 00000000 03cc8240 00000000 00c1de80 00c1de80 <000ef15a> 000ef6a0 <000ef178>
00c1de70: 00000000 <000ef86c> 00247f84 0022cbf8 002056d4 00000000 <000ef86c> 00247f84
00c1de90: 0026dfb4 002a245c 00000000 00000000 00295448 00000000 00000000 <0000102c>
00c1deb0: 00247f84 002957ac 00000000 00000000 00000000 00000000 00000000 03dfd220
00c1ded0: ffffffff 00c1df04 <000c2ea6> 00267a68 00253fec 00254afc <000c2f1a> 03dfb6a4
00c1def0: 00000000 0000021c 00254afc 000000d0 00c1df04 00c19f28 00000000 00000000
00c1df10: 002a245c <000c3082> 00254afc 00253fec 00000000 <0006c2b8> 00267a68 00253fec
00c1df30: 002a245c 00c1df58 03dd0c20 03dce120 00000000 00000000 00263d78 00c1df58
00c1df50:<00207cf0><0006c4e0> 0000021c <0006c4ee> 00267a68 03dd0c20 00004000 00000000
00c1df70: 00000000 00c1df98 7fffff00 00000001 <0002b618> 00c1df98 00000106 <0006c5b2>
00c1df90: 002a216c 03dce120 00323632 00000000 00290000 <0002b676> 00263cfc 002a216c
00c1dfb0: 00000106 00267a68 <002783ba> 002a2354 002a216c 00000000 00000000 00000000
00c1dfd0: 00000000 00000000 00000000 00000000 00000001 <00001466> 00000000 00000000
00c1dff0: 00000000 00000000 ffffffff 00000006 03df73e8
Return addresses in stack:
address : <0x001b8678> { _mutex_lock + 0xc }
address : <0x000f122a> { _devres_add + 0xe }
address : <0x00070db8> { _sysfs_add_one + 0xc }
address : <0x0010402a> { _ata_host_alloc + 0x86 }
address : <0x00005d08> { _peripheral_request_list + 0x28 }
address : <0x001b707e> { _bfin_atapi_probe + 0xa6 }
address : <0x000ef5b6> { _driver_probe_device + 0x82 }
frame 1 : <0x001b6252> { _klist_next + 0x26 }
address : <0x001b627a> { _klist_next + 0x4e }
address : <0x000ef710> { ___driver_attach + 0x70 }
address : <0x000eed94> { _bus_for_each_dev + 0x3c }
address : <0x000c3b70> { _kobject_init_and_add + 0x24 }
address : <0x000ef45e> { _driver_attach + 0x1a }
address : <0x000ef15a> { _bus_add_driver + 0x66 }
address : <0x000ef178> { _bus_add_driver + 0x84 }
address : <0x000ef86c> { _driver_register + 0x40 }
address : <0x000ef86c> { _driver_register + 0x40 }
address : <0x0000102c> { _do_one_initcall + 0x2c }
address : <0x000c2ea6> { _ida_get_new_above + 0x96 }
address : <0x000c2f1a> { _ida_get_new_above + 0x10a }
address : <0x000c3082> { _ida_pre_get + 0xe }
address : <0x0006c2b8> { _proc_register + 0x30 }
address : <0x00207cf0> /* kernel dynamic memory */
address : <0x0006c4e0> { _create_proc_entry + 0x3c }
address : <0x0006c4ee> { _create_proc_entry + 0x4a }
address : <0x0002b618> { _register_irq_proc + 0x80 }
address : <0x0006c5b2> { _proc_mkdir_mode + 0x2e }
address : <0x0002b676> { _init_irq_proc + 0x42 }
address : <0x002783ba> { _kernel_init + 0x8a }
address : <0x00001466> { _kernel_thread_helper + 0x6 }
Modules linked in:
Kernel panic - not syncing: Kernel exception
---
I will fix this bug soon.
-Bryan
Follow-ups
--- Bryan Wu 2008-11-03 03:06:18
It should be fixed in trunk now and tested on BF54x and BF51x
-Bryan
--- Bryan Wu 2008-11-03 05:12:32
fixed, so close it.
-Bryan
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found