Raspberry Pi 2 - I2C related kpanic @ r324169

Ian Lepore ian at freebsd.org
Thu Nov 16 17:17:22 UTC 2017


On Wed, 2017-11-15 at 18:10 -0500, Hyun Hwang wrote:
> Hello,
> 
> I was trying to get readings from my accelerometer (MMA8451, requires
> I2C repeated start) via I2C, and suddenly kernel panicked.
> This is what appeared on the console:
> ```
> Fatal kernel mode data abort: 'Translation Fault (L1)' on read
> trapframe: 0xd775bcf0
> FSR=00000005, FAR=00000000, spsr=40000013
> r0 =c07ce200, r1 =ff704000, r2 =00000000, r3 =00000000
> r4 =c39eb680, r5 =00000000, r6 =0000ffff, r7 =c06e569c
> r8 =c07d79e8, r9 =c07d79e8, r10=c3986b00, r11=d775bd90
> r12=c090b288, ssp=d775bd80, slr=c0653334, pc =c0653488
> 
> [ thread pid 11 tid 100032 ]
> Stopped at      bcm_bsc_fill_tx_fifo+0x74:
> db>
> ```
> My Raspberry Pi 2 (v1.1) is currently running r325595 (armv7) with no
> WITNESS option given. I am currently rebuilding the kernel with
> WITNESS option given, to see if I can get more detailed messages.
> 
> Judging by the function name, it looks like the I2C repeated start
> fix applied on r324169 had some problem?

That was my first suspicion: I broke something. :)

Is it easily reproducible?  I don't expect witness to add anything;
given the FAR value, it looks like a NULL pointer problem.  If you can
make it happen easily, could you do a "bt" at the db> propmt and paste
that output, please?

-- Ian



More information about the freebsd-arm mailing list