linux bug 函数,mini2440 linux2.6.32.2中i2c_master_send函数有bug?!

Unable to handle kernel NULL pointer dereference at virtual address 00000000

pgd = c0004000

[00000000] *pgd=00000000

Internal error: Oops: 17 [#1]

last sysfs file: /sys/devices/platform/s3c2440-i2c/i2c-0/0-005c/input/input0/event0/dev

Modules linked in: i2c_ts

CPU: 0    Not tainted  (2.6.32.2-FriendlyARM #9)

PC is at s3c24xx_i2c_irq+0x32c/0x3dc

LR is at handle_IRQ_event+0x60/0x130

pc : []    lr : []    psr: 80000093

sp : c04c3eb8  ip : 00000000  fp : c04c3edc

r10: 3001fb24  r9 : 41129200  r8 : 00000004

r7 : ffffffea  r6 : 00000000  r5 : c382df24  r4 : c3841c00

r3 : 00000001  r2 : 00000000  r1 : c382df30  r0 : c480c000

Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: c000717f  Table: 339dc000  DAC: 00000017

Process swapper (pid: 0, stack limit = 0xc04c2270)

Stack: (0xc04c3eb8 to 0xc04c4000)

3ea0:                                                       c3830d40 00000000

3ec0: 00000000 0000002b 3001fb58 41129200 c04c3efc c04c3ee0 c0071500 c0251cc0

3ee0: c04cbeec c3830d40 0000002b c0526fec c04c3f1c c04c3f00 c0073000 c00714b0

3f00: 0000002b c04d832c 00000000 c04c6448 c04c3f3c c04c3f20 c0030044 c0072f68

3f20: ffffffff f4000000 08000000 c04c6448 c04c3f94 c04c3f40 c0030b04 c0030010

3f40: f4100000 00000032 f4100000 60000013 c04c2000 c05038a4 c04c6450 c04c6448

3f60: 3001fb58 41129200 3001fb24 c04c3f94 c04c3f98 c04c3f88 c003264c c0032064

3f80: 60000013 ffffffff c04c3fb4 c04c3f98 c003264c c0031fe4 c052706c c0503640

3fa0: c0021000 c04c6448 c04c3fc4 c04c3fb8 c0392ebc c00325e4 c04c3ff4 c04c3fc8

3fc0: c00089a8 c0392e70 c00084f4 00000000 00000000 c0021ca0 00000000 c0007175

3fe0: c0503950 c0021c9c 00000000 c04c3ff8 30008034 c00087ac 00000000 00000000

Backtrace:

[] (s3c24xx_i2c_irq+0x0/0x3dc) from [] (handle_IRQ_event+0x60/0x130)

r9:41129200 r8:3001fb58 r7:0000002b r6:00000000 r5:00000000

r4:c3830d40

[] (handle_IRQ_event+0x0/0x130) from [] (handle_edge_irq+0xa8/0x16c)

r7:c0526fec r6:0000002b r5:c3830d40 r4:c04cbeec

[] (handle_edge_irq+0x0/0x16c) from [] (asm_do_IRQ+0x44/0x8c)

r7:c04c6448 r6:00000000 r5:c04d832c r4:0000002b

[] (asm_do_IRQ+0x0/0x8c) from [] (__irq_svc+0x24/0xa0)

Exception stack(0xc04c3f40 to 0xc04c3f88)

3f40: f4100000 00000032 f4100000 60000013 c04c2000 c05038a4 c04c6450 c04c6448

3f60: 3001fb58 41129200 3001fb24 c04c3f94 c04c3f98 c04c3f88 c003264c c0032064

3f80: 60000013 ffffffff

r7:c04c6448 r6:08000000 r5:f4000000 r4:ffffffff

[] (default_idle+0x0/0x9c) from [] (cpu_idle+0x78/0xb0)

[] (cpu_idle+0x0/0xb0) from [] (rest_init+0x5c/0x70)

r7:c04c6448 r6:c0021000 r5:c0503640 r4:c052706c

[] (rest_init+0x0/0x70) from [] (start_kernel+0x20c/0x27c)

[] (start_kernel+0x0/0x27c) from [<30008034>] (0x30008034)

Code: e5843010 eaffffd3 e5952008 e594002c (e7d2100c)

---[ end trace 4ede664953bd4d0e ]---

Kernel panic - not syncing: Fatal exception in interrupt

Backtrace:

[] (dump_backtrace+0x0/0x10c) from [] (dump_stack+0x18/0x1c)

r7:c0251fdc r6:c0503eb0 r5:c04c3ccf r4:c0251fdc

[] (dump_stack+0x0/0x1c) from [] (panic+0x4c/0x134)

[] (panic+0x0/0x134) from [] (die+0x204/0x240)

r3:00010000 r2:c04c9638 r1:0000584d r0:c0454150

[] (die+0x0/0x240) from [] (__do_kernel_fault+0x6c/0x7c)

[] (__do_kernel_fault+0x0/0x7c) from [] (do_page_fault+0x148/0x200)

r7:c04c57c0 r6:00000000 r5:00000000 r4:c04c6618

[] (do_page_fault+0x0/0x200) from [] (do_DataAbort+0x40/0xa4)

[] (do_DataAbort+0x0/0xa4) from [] (__dabt_svc+0x40/0x60)

Exception stack(0xc04c3e70 to 0xc04c3eb8)

3e60:                                     c480c000 c382df30 00000000 00000001

3e80: c3841c00 c382df24 00000000 ffffffea 00000004 41129200 3001fb24 c04c3edc

3ea0: 00000000 c04c3eb8 c0071500 c0251fdc 80000093 ffffffff

[] (s3c24xx_i2c_irq+0x0/0x3dc) from [] (handle_IRQ_event+0x60/0x130)

r9:41129200 r8:3001fb58 r7:0000002b r6:00000000 r5:00000000

r4:c3830d40

[] (handle_IRQ_event+0x0/0x130) from [] (handle_edge_irq+0xa8/0x16c)

r7:c0526fec r6:0000002b r5:c3830d40 r4:c04cbeec

[] (handle_edge_irq+0x0/0x16c) from [] (asm_do_IRQ+0x44/0x8c)

r7:c04c6448 r6:00000000 r5:c04d832c r4:0000002b

[] (asm_do_IRQ+0x0/0x8c) from [] (__irq_svc+0x24/0xa0)

Exception stack(0xc04c3f40 to 0xc04c3f88)

3f40: f4100000 00000032 f4100000 60000013 c04c2000 c05038a4 c04c6450 c04c6448

3f60: 3001fb58 41129200 3001fb24 c04c3f94 c04c3f98 c04c3f88 c003264c c0032064

3f80: 60000013 ffffffff

r7:c04c6448 r6:08000000 r5:f4000000 r4:ffffffff

[] (default_idle+0x0/0x9c) from [] (cpu_idle+0x78/0xb0)

[] (cpu_idle+0x0/0xb0) from [] (rest_init+0x5c/0x70)

r7:c04c6448 r6:c0021000 r5:c0503640 r4:c052706c

[] (rest_init+0x0/0x70) from [] (