Hello All,
We're in the process of porting from Jellybean to Lollipop. One step in the process was to upgrade from kernel 3.0.35 to 3.10.53. During the upgrade we started to see occasional crashes which we managed to track down to accessing our SPI-NOR via a jffs2 mount. Sometimes when mounting a partition on the SPI-NOR device we receive the following kernel error, "jffs2: error: (10723) jffs2_do_read_inode_internal: CRC failed for read_inode of inode 2 at physical location 0x7e00c". This error then results in a kernel panic as shown below.
Unable to handle kernel NULL pointer dereference at virtual address 00000001
pgd = c6040000
[00000001] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 10805 Comm: python Not tainted 3.10.53-00034-g3c666b2-dirty #38
task: cbc19900 ti: cb784000 task.ti: cb784000
PC is at kmem_cache_alloc+0x54/0x118
LR is at kmem_cache_alloc+0x38/0x118
pc : [<800d9c50>] lr : [<800d9c34>] psr: 200f0013
sp : cb785e48 ip : ffffffff fp : 00000001
r10: 0009d9ec r9 : cb784000 r8 : 01f42000
r7 : 000080d0 r6 : cb784000 r5 : ca001f00 r4 : 00000001
Unable to handle kernel NULL pointer dereference at virtual address 00000014
pgd = 80004000
[00000014] *pgd=00000000
r3 : 00000000 r2 : 00000001 r1 : 000080d0 r0 : 00000000
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: 5604004a DAC: 00000015
This problem was not present in the 3.0.35 kernel.
Our flash is located on the SPI1 bus and the device tree setup is shown below.
&ecspi1 {
fsl,spi-num-chipselects = <1>;
cs-gpios = <&gpio3 19 0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1_1>;
status = "okay";
flash: m25p80@0 {
compatible = "sst,sst25vf016b";
spi-max-frequency = <20000000>;
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
mtd0@000000 {
label = "U-Boot";
reg = <0x0 0x100000>;
};
mtd0@100000 {
label = "kernel";
reg = <0x100000 0x80000>;
};
mtd0@180000 {
label = "user";
reg = <0x180000 0x80000>;
};
};
};
Any ideas on what could be causing this failure?
Thank you,
Sheldon