[#5875] adxl through I2C fail now on trunk head kernel

Document created by Aaronwu Employee on Sep 10, 2013
Version 1Show Document
  • View in full screen mode

[#5875] adxl through I2C fail now on trunk head kernel

Submitted By: Mingquan Pan

Open Date

2010-02-01 05:05:22     Close Date

2010-02-04 04:19:27

Priority:

Medium     Assignee:

Michael Hennerich

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

N/A     Board:

N/A

Processor:

BF548     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

4.3.4 (ADI-trunk/svn-3815)

App binary format:

N/A     

Summary: adxl through I2C fail now on trunk head kernel

Details:

 

adxl through I2C fail now on trunk head kernel from about Jan 25 and used an updated toolchain.

 

root:/> version

kernel:    Linux release 2.6.32.7-ADI-2010R1-pre-svn8261, build #67 Sat Jan 30 10:44:48 CST 2010

toolchain: bfin-uclinux-gcc release gcc version 4.3.4 (ADI-trunk/svn-3815)

user-dist: release svn-9424, build #1913 Sat Jan 30 10:44:10 CST 2010

root:/> successful boot attempt

************** STEP 3: Starting test.

 

dmesg

root:/>

Case 1 ...PASS

 

Case 1 ...PASS

 

Detected device.

cat /sys/class/input/input1/name

ADXL34x accelerometer

root:/>

Case 2 ...PASS

 

Case 2 ...PASS

cat /proc/interrupts

  6:       5887      CORE  Blackfin CoreTimer

  9:          0      INTN  PPI ERROR

10:          0      INTN  SPORT err

14:          1      INTN  rtc-bfin

16:          0      INTN  SPORT RX Data

17:          0      INTN  SPORT TX Data

48:          0      INTN  BFIN_UART_RX

49:         83      INTN  BFIN_UART_TX

52:          0      INTN  i2c-bfin-twi

53:        390      INTN  i2c-bfin-twi

68:          3      INTN  pata-bf54x

74:          0      INTN  BF5XX NFC driver

76:          0      INTN  bf54x-keys

82:          1      INTN  musb_hdrc.0

85:          0      INTN  musb_hdrc.0

140:          2      GPIO  1-0053

175:          1      GPIO  eth0

NMI:          0      CORE  Non Maskable Interrupt

Err:          0

root:/>

Case 3 ...PASS

 

Case 3 ...PASS

event_test /dev/input/event1

InpIn stirurcteioin  fe tc0h misaligned address violation

<5> - Attempted misaligned instruction cache fetch.

Deferred Exception context

CURRENT PROCESS:

COMM=event_test PID=329 CPU=0

TEXT = 0x02be0040-0x02be3b60        DATA = 0x02be3b80-0x02be6c3c

BSS = 0x02be6c3c-0x02be6ec0  USER-STACK = 0x02be7f60

 

return address: [0x02be0c8a]; contents of:

0x02be0c60:  67f8  6009  a27a  e300  0607  0c08  1ff6  523d

0x02be0c70:  0828  1407  e53d  ffb8  304d  2e3e  3229  2e3b

0x02be0c80:  6bfb  3043  e801  0000  05a3 [0010] 05fd  3228

0x02be0c90:  3039  e800  0003  6001  e122  0098  e300  0308

 

ADSP-BF548-0.2 525(MHz CCLK) 131(MHz SCLK) (mpu off)

Linux version 2.6.32.7-ADI-2010R1-pre-svn8261 (test@uclinux61-bf548-std) (gcc version 4.3.4 (ADI-trunk/svn-3815) ) #67 Sat Jan 30 10:44:48 CST 2010

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 0000202a  IPEND: 0008  IMASK: ffff  SYSCFG: 0006

  EXCAUSE   : 0x2a

  physical IVG3 asserted : <0xffa00704> { _trap + 0x0 }

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x02bb2000> /* kernel dynamic memory */

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x69737265> /* kernel dynamic memory */

PC  : <0x02be0c8a> [ event_test + 0xc4a ]

DCPLB_FAULT_ADDR: <0x02be6db4> [ event_test + 0x6db4 ]

ICPLB_FAULT_ADDR: <0x02be0c8a> [ event_test + 0xc4a ]

PROCESSOR STATE:

R0 : 0000003f    R1 : 02be6d64    R2 : 0000003f    R3 : 00000001

R4 : 02be6e08    R5 : 02be4d08    R6 : 00000002    R7 : 00000000

P0 : 00000004    P1 : 00000001    P2 : 00000001    P3 : 02be6afc

P4 : 020a3078    P5 : 30206e6f    FP : 76203935    SP : 02bb1f24

LB0: 02be12a5    LT0: 02be12a2    LC0: 00000000

LB1: 02be2215    LT1: 02be21ca    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 02be6ae8

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 00000000

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000000

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000

A0.w: 00000000   A0.x: 00000000   A1.w: 00000000   A1.x: 00000000

USP : 02be6db8  ASTAT: 02001025

 

Hardware Trace:

   0 Target : <0x000051e4> { _trap_c + 0x0 }

     Source : <0xffa00698> { _exception_to_level5 + 0xa4 } CALL pcrel

   1 Target : <0xffa005f4> { _exception_to_level5 + 0x0 }

     Source : <0xffa004a8> { _bfin_return_from_exception + 0x18 } RTX

   2 Target : <0xffa00490> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa0054c> { _ex_trap_c + 0x74 } JUMP.S

   3 Target : <0xffa004d8> { _ex_trap_c + 0x0 }

     Source : <0xffa0075e> { _trap + 0x5a } JUMP (P4)

   4 Target : <0xffa00704> { _trap + 0x0 }

     Source : <0x02be0c88> [ event_test + 0xc48 ] 0x05a3

   5 Target : <0x02be0c82> [ event_test + 0xc42 ]

     Source : <0x02be0928> [ event_test + 0x8e8 ] IF !CC JUMP

   6 Target : <0x02be091c> [ event_test + 0x8dc ]

     Source : <0x02be192e> [ event_test + 0x18ee ] RTS

   7 Target : <0x02be1926> [ event_test + 0x18e6 ]

     Source : <0x02be18d8> [ event_test + 0x1898 ] IF !CC JUMP

   8 Target : <0x02be18d6> [ event_test + 0x1896 ]

     Source : <0x02be07be> [ event_test + 0x77e ] RTS

   9 Target : <0x02be07b2> [ event_test + 0x772 ]

     Source : <0x02be1872> [ event_test + 0x1832 ] RTS

  10 Target : <0x02be186a> [ event_test + 0x182a ]

     Source : <0x02be180e> [ event_test + 0x17ce ] IF !CC JUMP

  11 Target : <0x02be180c> [ event_test + 0x17cc ]

     Source : <0x02be1828> [ event_test + 0x17e8 ] JUMP.S

  12 Target : <0x02be181e> [ event_test + 0x17de ]

     Source : <0x02be22a0> [ event_test + 0x2260 ] RTS

  13 Target : <0x02be2298> [ event_test + 0x2258 ]

     Source : <0x02be228a> [ event_test + 0x224a ] IF CC JUMP

  14 Target : <0x02be2282> [ event_test + 0x2242 ]

     Source : <0xffa00c40> { __common_int_entry + 0xcc } RTI

  15 Target : <0xffa00bde> { __common_int_entry + 0x6a }

     Source : <0xffa00fa4> { _evt_system_call + 0x64 } JUMP.S

Userspace Stack

Stack info:

SP: [0x02be6db8] <0x02be6db8> [ event_test + 0x6db8 ]

Memory from 0x02be6db0 to 02be7000

02be6db0: 02be4d08  02be6e08 [02be6a40] 00000000  00000000  00000000  00000000  00000000

02be6dd0: 00000000  02be6dfc <02be0678> 02be7f68  00000000  02be7f64  02be3b38  02be015c

02be6df0: 00000000  00000000  02be7ef0  02be7ef0 <02be0260> 00000000  00000018  00000000

02be6e10: 00000159  00000000  00000000  00000000  00000000  00000003  00000000  00000000

02be6e30: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6e50: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6e70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6e90: 00000000  00000000  00000000  02adfeb8  02be7f70  00001000  02be3b4a  00000000

02be6eb0: 00000001  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6ed0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6ef0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6f10: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6f30: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6f50: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6f70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6f90: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6fb0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6fd0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02be6ff0: 00000000  00000000  00000000  00000000

Return addresses in stack:

    address : <0x02be0678> [ event_test + 0x638 ]

    address : <0x02be0260> [ event_test + 0x220 ]

 

Input device ID: bus 0x18 vendor 0x0150脛l戮 0x 59 version 0x0

 

Last passed time: 2010_Jan_25_20_28, ucdist ver: 9413, kernel ver: 8228

toolchain 4.3.4 (ADI-trunk/svn-3771)

 

Follow-ups

 

--- Michael Hennerich                                        2010-02-01 09:53:07

This bug has nothing to do with the ADXL34x driver in particular.

It crashes on every input/eventX

It doesn't crash on BF537 only on BF548

It always crashes in event_test app upon return from an sys_write system call,

likely one of the printfs.

It doesn't crash when event_test app is started from a telnet seesion.

Went back to kernel svn rev. 8000 - still crashes there.

 

I suspect this being a toolchain bug.

Currently checking out toolchain svn rev 3771...

 

-Michael

 

--- Michael Hennerich                                        2010-02-02 05:15:00

Looks like with the recent kernel updates some defines from

<linux/input.h> used by event_test as size to allocate some array on the

stack increased.

Default FLAT stack size is no longer suitable - increased to 0x2000

Fixed on trunk

 

-Michael

 

--- Mingquan Pan                                             2010-02-04 04:18:57

Yes,fixed. Close.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes