UCB1400 Touchscreen kernel crash at boot

Marek Vasut marek.vasut at gmail.com
Thu Nov 19 05:37:01 EST 2009


Dne Čt 19. listopadu 2009 11:15:37 Patrick napsal(a):
> Hello,
> 
> I have migrated from 2.6.26 to 2.6.28 kernel on a ARM PXA320 platform. I
>  have a touchscreen that use UCB1400.
> 
> On the 2.6.26 kernel the touchscreen was working well. On the 2.6.28 I have
>  the following crash at boot:
> 
> mice: PS/2 mouse device common for all mice
> Unable to handle kernel NULL pointer dereference at virtual address
>  00000000 pgd = c0004000
> [00000000] *pgd=00000000
> Internal error: Oops: 805 [#1] PREEMPT
> Modules linked in:
> CPU: 0    Not tainted  (2.6.28-recoms #9)
> PC is at ucb1400_ts_probe+0x20/0x428
> LR is at input_allocate_device+0x58/0x94
> pc : [<c023d544>]    lr : [<c02322d0>]    psr: a0000013
> sp : c7817d38  ip : c7817d20  fp : c7817d5c
> r10: c041f100  r9 : 00000000  r8 : 00000001
> r7 : 00000000  r6 : c040bc28  r5 : c0425220  r4 : c040bc30
> r3 : c78aa7a8  r2 : c78aa7b0  r1 : c03d8180  r0 : c78aa000
> Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
> Control: 0400397f  Table: a0004018  DAC: 00000035
> Process swapper (pid: 1, stack limit = 0xc7816270)
> Stack: (0xc7817d38 to 0xc7818000)
> 7d20:                                                       c00e219c
>  c00e1fcc 7d40: c040bc30 c0425220 c0425220 c0425220 c7817d6c c7817d60
>  c01c07dc c023d530 7d60: c7817d8c c7817d70 c01bf8a8 c01c07c8 c0061ec8
>  c040bc30 c0425220 c040bcdc 7d80: c7817dac c7817d90 c01bf9c8 c01bf7c0
>  c7817dac 00000000 c7817db0 c01bf95c 7da0: c7817dd4 c7817db0 c01bee48
>  c01bf968 c78034d8 c040bc78 00000000 c0425220 7dc0: c7a7b3e0 c001cd18
>  c7817de4 c7817dd8 c01bf6c8 c01bee08 c7817e14 c7817de8 7de0: c01bf2e4
>  c01bf6b4 c03a9518 c0425220 c0425220 c0023f04 00000000 c001cd18 7e00:
>  00000001 00000000 c7817e3c c7817e18 c01bfcac c01bf248 c042cb84 c0023f04
>  7e20: 00000000 c001cd18 00000001 00000000 c7817e4c c7817e40 c01c0b78
>  c01bfc20 7e40: c7817e5c c7817e50 c001cd2c c01c0b0c c7817fdc c7817e60
>  c002d300 c001cd24 7e60: 000000d0 c042ca08 00000000 c7812cc0 00000000
>  c7802160 c7817ee4 c7817e88 7e80: c0079548 c0079018 c7817edc 00000000
>  c7800de0 00000179 c7817eec 00000000 7ea0: c7800de0 0000017a c7817ed4
>  c7817eb8 c0098228 c0189b88 c78035a4 0000017a 7ec0: c78035a0 00000000
>  c7817f34 c7817ed8 c018050c c0098210 c7817f04 c7817f54 7ee0: 00000000
>  00000000 000000d0 c7811e30 00000000 c7816000 c7817f2c c7817f08 7f00:
>  c0180768 c0040df0 c0435cb8 c7816000 c78378a0 c7836180 c0435cb8 00000000
>  7f20: 00000000 00000000 c7817f44 c7817f38 c0180548 c0180340 c7817f74
>  c7817f48 7f40: c00dac68 c0040df0 c7836180 c03ac908 c0410894 0000017a
>  c78378a0 c7817f9e 7f60: 000000bf c0435cb8 c7817f94 c7817f78 c00dade8
>  c00daac8 c7817f00 c7836180 7f80: c00daee8 c0410894 c7817fc4 c7817f98
>  c0071b1c c00dad74 c01bddd8 39311530 7fa0: 00000031 00000000 000000c0
>  c04108d0 00000000 00000000 c7817fdc c00241c0 7fc0: c0023f04 00000000
>  00000000 00000000 c7817ff4 c7817fe0 c0008740 c002d2ac 7fe0: 00000000
>  00000000 00000000 c7817ff8 c004ad5c c00086dc 00000000 00000000 Backtrace:
> [<c023d524>] (ucb1400_ts_probe+0x0/0x428) from [<c01c07dc>]
>  (platform_drv_probe+0x20/0x24) r7:c0425220 r6:c0425220 r5:c0425220
>  r4:c040bc30
> [<c01c07bc>] (platform_drv_probe+0x0/0x24) from [<c01bf8a8>]
>  (driver_probe_device+0xf4/0x1a8) [<c01bf7b4>]
>  (driver_probe_device+0x0/0x1a8) from [<c01bf9c8>]
>  (__driver_attach+0x6c/0x90) r6:c040bcdc r5:c0425220 r4:c040bc30
> [<c01bf95c>] (__driver_attach+0x0/0x90) from [<c01bee48>]
>  (bus_for_each_dev+0x4c/0x84) r6:c01bf95c r5:c7817db0 r4:00000000
> [<c01bedfc>] (bus_for_each_dev+0x0/0x84) from [<c01bf6c8>]
>  (driver_attach+0x20/0x28) r7:c001cd18 r6:c7a7b3e0 r5:c0425220 r4:00000000
> [<c01bf6a8>] (driver_attach+0x0/0x28) from [<c01bf2e4>]
>  (bus_add_driver+0xa8/0x218) [<c01bf23c>] (bus_add_driver+0x0/0x218) from
>  [<c01bfcac>] (driver_register+0x98/0x11c) [<c01bfc14>]
>  (driver_register+0x0/0x11c) from [<c01c0b78>]
>  (platform_driver_register+0x78/0x94) [<c01c0b00>]
>  (platform_driver_register+0x0/0x94) from [<c001cd2c>]
>  (ucb1400_ts_init+0x14/0x1c) [<c001cd18>] (ucb1400_ts_init+0x0/0x1c) from
>  [<c002d300>] (do_one_initcall+0x60/0x194) [<c002d2a0>]
>  (do_one_initcall+0x0/0x194) from [<c0008740>] (kernel_init+0x70/0xdc)
>  r8:00000000 r7:00000000 r6:00000000 r5:c0023f04 r4:c00241c0
> [<c00086d0>] (kernel_init+0x0/0xdc) from [<c004ad5c>] (do_exit+0x0/0x7a8)
>  r5:00000000 r4:00000000
> Code: e59070cc e1a06000 ebffd34d e3500000 (e5870000)
> ---[ end trace c943999c78a8047e ]---
> Kernel panic - not syncing: Attempted to kill init!
> 
> 
> 
> I have made a quick investigation and I have found that
>  dev->dev.platform_data in ucb1400_ts_probe function is NULL. So I think
>  that somewhere a memory alloc is missing. Should I allocate memory for
>  platform_data in the ucb1400_ts_probe ?
> 
> Do you have any idea where is the bug ? Any idea is welcome !
> 
> Thanks in advance
> 
> Patrick
> 

Why don't you use newer kernel? I use colibri/pxa320 with ucb1400 for which I 
recently sent three patches into linux-arm-kernel and linux-input to solve some 
issues (probably not/partly related).

.28 doesn't have the capability to pass platform data through the ac97 bus, use 
mainline kernel (or even better ... go to git.kernel.org, search for ycmiao, 
checkout that and switch to 'devel' branch). Apply the following patches, make 
some sense of them and you should be fine. Some might be already applied.
> 
> 
> 
> _______________________________________________
> linux-arm mailing list
> linux-arm at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-UCB1400-Allow-passing-IRQ-through-platfrom_data.patch
Type: text/x-patch
Size: 2577 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm/attachments/20091119/9b1fa817/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-Colibri-PXA320-Pass-IRQ-line-to-UCB1400.patch
Type: text/x-patch
Size: 1986 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm/attachments/20091119/9b1fa817/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Colibri-PXA320-Add-UCB1400-touchscreen-support.patch
Type: text/x-patch
Size: 1614 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm/attachments/20091119/9b1fa817/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Colibri-PXA320-Fix-AC97-ifdefs-and-include.patch
Type: text/x-patch
Size: 1291 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm/attachments/20091119/9b1fa817/attachment-0003.bin>


More information about the linux-arm mailing list