AM335x
原来调试使用的4.1.13内核,SPI-NOR上挂JFFS2,工作正常
现在升级内核到4.4.32-RT41内核,menuconfig配置、dts与上面相同,jffs有很大几率出现异常,如下。
硬件是同一块板子, 复现只需要格式化后往里面拷贝文件即可。或者用jffs作为rootfs挂载系统,都有很大概率出现下面的错误提示。
[ 66.731342] Unable to handle kernel paging request at virtual address f1af54cc
[ 66.739040] pgd = ed030000
[ 66.741897] [f1af54cc] *pgd=00000000
[ 66.745684] Internal error: Oops: 5 [#1] PREEMPT ARM
[ 66.745746] Modules linked in: GobiNet(O) usbnet mii GobiSerial(O) usbserial musb_dsps musb_hdrc usbcore omap_wdt musb_am335x sha256_generic hmac md5 sha1_arm_neon sha1_arm sha1_generic omap_sham omap_rng rng_core ecb omap_aes_driver
[ 66.745762] CPU: 0 PID: 298 Comm: cp Tainted: G O 4.4.32-rt41-ge26c84b0ac #4
[ 66.745767] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 66.745774] task: eee7b600 ti: eeed6000 task.ti: eeed6000
[ 66.745799] PC is at page_address+0x18/0xf8
[ 66.745814] LR is at spi_map_buf+0x1e8/0x258
[ 66.745824] pc : [<c0117e18>] lr : [<c032fca4>] psr: 20010013
[ 66.745824] sp : eeed7780 ip : eeed77a8 fp : eeed77a4
[ 66.745829] r10: 000000b0 r9 : eef42fc0 r8 : eeed7908
[ 66.745835] r7 : eef42fc0 r6 : c06eecb4 r5 : 00000001 r4 : f1af54cc
[ 66.745841] r3 : c06eecb4 r2 : f1af54ce r1 : eef42fc0 r0 : f1af54cc
[ 66.745850] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 66.745857] Control: 10c5387d Table: ad030019 DAC: 00000051
[ 66.745863] Process cp (pid: 298, stack limit = 0xeeed6208)
[ 66.745871] Stack: (0xeeed7780 to 0xeeed8000)
[ 66.745886] 7780: 00000001 00000001 c06eecb4 eef42fc0 eeed7908 eef42fc0 eeed77ec eeed77a8
[ 66.745901] 77a0: c032fca4 c0117e0c ee9c1a6c 00000004 eed5cc00 c032f7e0 eed5ce80 00000000
[ 66.745915] 77c0: eeed77ec eeed78f4 eed5cc00 eeed7888 00000002 eed5cc00 eed5cc00 00000001
[ 66.745929] 77e0: eeed782c eeed77f0 c0331020 c032fac8 000000b0 00000001 00000002 eed5cdbc
[ 66.746831] Backtrace:
[ 66.746849] [<c0117e00>] (page_address) from [<c032fca4>] (spi_map_buf+0x1e8/0x258)
[ 66.746870] r9:eef42fc0 r8:eeed7908 r7:eef42fc0 r6:c06eecb4 r5:00000001 r4:00000001
[ 66.746885] [<c032fabc>] (spi_map_buf) from [<c0331020>] (__spi_pump_messages+0x320/0x6c0)
[ 66.746905] r10:00000001 r9:eed5cc00 r8:eed5cc00 r7:00000002 r6:eeed7888 r5:eed5cc00
[ 66.746911] r4:eeed78f4
[ 66.746924] [<c0330d00>] (__spi_pump_messages) from [<c0331630>] (__spi_sync+0x24c/0x250)
[ 66.746944] r10:eed5d1c8 r9:eed5ce80 r8:c032f7e0 r7:00000000 r6:eed5cc00 r5:eeed7888
[ 66.746950] r4:eed5d000
[ 66.746962] [<c03313e4>] (__spi_sync) from [<c0331650>] (spi_sync+0x1c/0x20)
[ 66.746982] r10:eed5d000 r9:eeed7a14 r8:eeed7888 r7:00000004 r6:00000000 r5:eed5d410
[ 66.746988] r4:eed5d418
[ 66.746999] [<c0331634>] (spi_sync) from [<c032c440>] (m25p80_write+0x108/0x124)
[ 66.747010] [<c032c338>] (m25p80_write) from [<c032d1bc>] (spi_nor_write+0x104/0x188)
[ 66.747030] r10:0000015f r9:00000000 r8:000000b0 r7:00000000 r6:00c70050 r5:eed5d418
[ 66.747036] r4:c032c29c
[ 66.747057] [<c032d0b8>] (spi_nor_write) from [<c032675c>] (part_write+0x50/0x58)
[ 66.747076] r10:eeed7a14 r9:00000000 r8:00870050 r7:00000000 r6:00000044 r5:00000000
[ 66.747082] r4:00400000
[ 66.747095] [<c032670c>] (part_write) from [<c0323044>] (mtd_write+0x90/0xa8)
[ 66.747104] r5:00000000 r4:c032670c
[ 66.747116] [<c0322fb4>] (mtd_write) from [<c0323674>] (mtd_writev+0xb4/0x108)
[ 66.747130] r7:00000002 r6:00000044 r5:00000002 r4:eeed7af8
[ 66.747153] [<c03235c0>] (mtd_writev) from [<c020945c>] (jffs2_flash_direct_writev+0x30/0x38)
[ 66.747173] r10:000001a3 r9:eeed7af0 r8:0087000c r7:ed047000 r6:eee8edc0 r5:00000000
[ 66.747179] r4:0087000c
[ 66.747195] [<c020942c>] (jffs2_flash_direct_writev) from [<c020b418>] (jffs2_flash_writev+0x410/0x4a8)
[ 66.747204] r5:00000000 r4:0087000c
[ 66.747218] [<c020b008>] (jffs2_flash_writev) from [<c0203d94>] (jffs2_write_dnode+0xf4/0x348)
[ 66.747237] r10:000001a3 r9:00000000 r8:edd12870 r7:ed047000 r6:eee8edc0 r5:ed256c80
[ 66.747243] r4:0087000c
[ 66.747256] [<c0203ca0>] (jffs2_write_dnode) from [<c02045ac>] (jffs2_write_inode_range+0x244/0x2e8)
[ 66.747276] r10:ed047000 r9:00002ea1 r8:00000000 r7:bfe5bea1 r6:edd12870 r5:0000015f
[ 66.747282] r4:ed256c80
[ 66.747294] [<c0204368>] (jffs2_write_inode_range) from [<c01fed08>] (jffs2_write_end+0xf4/0x22c)
[ 66.747314] r10:00001000 r9:ed047000 r8:00000000 r7:edd128a0 r6:00000000 r5:eff707ac
[ 66.747320] r4:ed256c80
[ 66.747342] [<c01fec14>] (jffs2_write_end) from [<c00ec1b0>] (generic_perform_write+0x130/0x1c8)
[ 66.747362] r10:00001000 r9:c04e1700 r8:00000000 r7:00001000 r6:edd12984 r5:eeed7cf4
[ 66.747368] r4:c01fec14
[ 66.747384] [<c00ec080>] (generic_perform_write) from [<c00edaf0>] (__generic_file_write_iter+0x1ac/0x208)
[ 66.747403] r10:00000000 r9:00000000 r8:eeed7cf4 r7:edd12984 r6:eeed7d08 r5:eee83900
[ 66.747409] r4:00000000
[ 66.747424] [<c00ed944>] (__generic_file_write_iter) from [<c00edc6c>] (generic_file_write_iter+0x120/0x2d4)
[ 66.747443] r10:eee83900 r9:00000000 r8:00001000 r7:eeed7cf4 r6:eee83900 r5:eeed7d08
[ 66.747449] r4:edd1291c
[ 66.747475] [<c00edb4c>] (generic_file_write_iter) from [<c0142bb0>] (__vfs_write+0xbc/0xec)
[ 66.747494] r10:c04d577c r9:00000000 r8:00002000 r7:eeed7d80 r6:00001000 r5:00000000
[ 66.747500] r4:eee83900
[ 66.747515] [<c0142af4>] (__vfs_write) from [<c0142c38>] (__kernel_write+0x58/0xe0)
[ 66.747534] r9:00000001 r8:c01732f0 r7:bf000000 r6:eee83900 r5:00000000 r4:ffffe000
[ 66.747559] [<c0142be0>] (__kernel_write) from [<c017333c>] (write_pipe_buf+0x4c/0x64)
[ 66.747579] r9:00000001 r8:c01732f0 r7:ed256980 r6:eeed7d80 r5:eeed7dd8 r4:ed03fa30
[ 66.747594] [<c01732f0>] (write_pipe_buf) from [<c0173788>] (__splice_from_pipe+0x114/0x1a4)
[ 66.747606] r6:00000000 r5:eeed7dd8 r4:ed03fa30
[ 66.747621] [<c0173674>] (__splice_from_pipe) from [<c0174a08>] (splice_from_pipe+0x68/0x80)
[ 66.747641] r10:00000000 r9:00000000 r8:eeed7f30 r7:00007620 r6:00000004 r5:eee83900
[ 66.747650] r4:ed256980 r3:00000000
[ 66.747664] [<c01749a0>] (splice_from_pipe) from [<c0174a8c>] (default_file_splice_write+0x34/0x54)
[ 66.747682] r8:00000000 r7:00007620 r6:01000000 r5:eeed7ec0 r4:eeed7f30
[ 66.747697] [<c0174a58>] (default_file_splice_write) from [<c017290c>] (direct_splice_actor+0x4c/0x54)
[ 66.747703] r4:c0174a58
[ 66.747717] [<c01728c0>] (direct_splice_actor) from [<c01730a8>] (splice_direct_to_actor+0xec/0x26c)
[ 66.747723] r4:ed256980
[ 66.747737] [<c0172fbc>] (splice_direct_to_actor) from [<c01732c8>] (do_splice_direct+0xa0/0xc8)
[ 66.747757] r10:01000000 r9:eedf86c0 r8:00000000 r7:eeed7f30 r6:01000000 r5:eeed7f28
[ 66.747763] r4:eee83900
[ 66.747778] [<c0173228>] (do_splice_direct) from [<c0143a38>] (do_sendfile+0x1b0/0x340)
[ 66.747797] r9:eee83900 r8:eee83900 r7:00000000 r6:01000000 r5:eedf86c0 r4:eedf86c0
[ 66.747812] [<c0143888>] (do_sendfile) from [<c0144498>] (SyS_sendfile64+0x120/0x124)
[ 66.747832] r10:01000000 r9:eeed6000 r8:c000fe64 r7:00000004 r6:00000005 r5:00000000
[ 66.747838] r4:00000000
[ 66.747858] [<c0144378>] (SyS_sendfile64) from [<c000fca0>] (ret_fast_syscall+0x0/0x1c)
[ 66.747878] r10:00000000 r9:eeed6000 r8:c000fe64 r7:000000ef r6:01000000 r5:00000000
[ 66.747883] r4:01000000
[ 66.747896] Code: e24cb004 e52de004 e8bd4000 e1a04000 (e5903000)
[ 67.964718] ---[ end trace 0000000000000002 ]---