This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM1808 Linux kernel crash in spi

Other Parts Discussed in Thread: AM1808

Hi,

I'm working on a project using an AM1808 running a linux kernel which is a mix of DaVinci-PSP-SDK-03.20.00.12 and the Kevin Hilman tree. During boot up, there are several spi communications that are done and everything was working correctly until the cpu load increased a lot. Now, during boot up and even after, the cpu load is a lot higher than it was during initial development. It may not be related but not, often, the kernel crashes in davinci_spi module. From the stack trace I have when it crashes, it looks like it happens in bitbang_work ( from spi_bitbang.c ) in the list_del_init call. So, there must be a bad pointer in the queue of messages and I'm still trying to figure out what happens to cause that. Has anyone encountered this? Would it help to update to the latest davinci git tree since khilman tree doesn't exist anymore?

I copy pasted a portion of the output I get when it crashes.

Thanks!

spi: Unable to send spi message: Operation now in progress 
IOCTL returned -1

Unable to handle kernel NULL pointer dereference at virtual address 00000021
pgd = c7dec000
[00000021] *pgd=c7df1031, *pte=00000000, *ppte=00000000
Internal error: Oops: 801 [#1] PREEMPT
last sysfs file: /sys/devices/virtual/gpio/gpio1/value
CPU: 0 Not tainted (2.6.34-svn632 #31)
pc : [<c01b04a0>] lr : [<c0049f14>] psr: 20000093
sp : c7cfbf48 ip : c7cfbf88 fp : c7cfbf84
r10: c7cf12d0 r9 : 00000000 r8 : c7cfa000
r7 : c7d9feb4 r6 : c7d9fe94 r5 : c7cf12d4 r4 : c7cf12d8
r3 : 0000001d r2 : c7d9ff18 r1 : 60000013 r0 : c7cf12e4
Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 0005317f Table: c7dec000 DAC: 00000017
Process spi_davinci.1 (pid: 17, stack limit = 0xc7cfa270)
Stack: (0xc7cfbf48 to 0xc7cfc000)
bf40: c7cf12e4 c01b14ac c7cfbf84 c7cfbf60 c0264f50 c7cf12d8
bf60: c7cf12d4 c7cfa000 c7d62d40 c01b043c 00000000 c7d62d48 c7cfbfc4 c7cfbf88
bf80: c0049f14 c01b044c 00000000 00000000 c7c67200 c004d988 c7cfbf98 c7cfbf98
bfa0: c7cfbfcc c7c27d98 c7d62d40 c0049dd4 00000000 00000000 c7cfbff4 c7cfbfc8
bfc0: c004d5fc c0049de4 00000000 00000000 c7cfbfd0 c7cfbfd0 00000000 00000000
bfe0: 00000000 00000000 00000000 c7cfbff8 c003a440 c004d584 f7ff4cfc 6fbf9b79
Backtrace:
Function entered at [<c01b043c>] from [<c0049f14>]
Function entered at [<c0049dd4>] from [<c004d5fc>]
Function entered at [<c004d574>] from [<c003a440>]