Skip to content

mi.ko crashes on SSC377D (INFINITY6C) with "undefined instruction" #1936

@csvke

Description

@csvke

SoC: Sigmastar SSC377D (INFINITY6C SSC027A-S01A)
Sensor: IMX335
Flash: 16MB NOR
Kernel: Linux 5.10.61
Firmware: openipc-ssc377d-lite (latest master)

Issue:
The mi.ko module crashes during boot with "undefined instruction: 0"

  • PC at MI_SYS_Cmdq_AllocateBuffer+0x56/0x90 [mi]
  • Crash code: de02 (undefined ARM instruction)
  • IMX335 sensor cannot load (depends on mi module)
  • System boots fine otherwise (network, SSH all working)

Tested:

  • ssc377d_lite config - same crash
  • Latest master (commit 7c85696)

Question:
Is the pre-built mi.ko compatible with kernel 5.10.61?
Is there updated driver source or should I compile from Sigmastar SDK?

Boot log excerpt attached below:

Starting crond: OK
Loading vendor modules...
Internal error: Oops - undefined instruction: 0 [#1] PREEMPT THUMB2
Modules linked in: mi(PO+) exfat(O)
CPU: 0 PID: 560 Comm: insmod Tainted: P           O      5.10.61 #2
Hardware name: SStar Soc (Flattened Device Tree)
PC is at MI_SYS_Cmdq_AllocateBuffer+0x56/0x90 [mi]
LR is at MI_SYS_Cmdq_AllocateBuffer+0x57/0x90 [mi]
pc : [<bf897826>]    lr : [<bf897827>]    psr: 60000033
sp : c0ca5d50  ip : 00000000  fp : bf995f9c
r10: 00000000  r9 : 00000000  r8 : 00000000
r7 : bf8b8bdd  r6 : bf995e98  r5 : a009200c  r4 : 00064000
r3 : 00000000  r2 : c0ca4000  r1 : c03eb3d4  r0 : 0000000b
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA Thumb  Segment none
Control: 50c5383d  Table: 20d24059  DAC: 00000051
Process insmod (pid: 560, stack limit = 0x(ptrval))
Stack: (0xc0ca5d50 to 0xc0ca6000)
5d40:                                     c0ca5d68 00000000 00000000 00000000
5d60: 00000000 00000000 00000000 00002000 bf995e98 bf995eb8 c0bca200 c04248b8
5d80: bf985074 bf8978c1 bf94604c bf89c4ff 0003a800 bf8b8bdd bf94604c bf94604c
5da0: 00000c7b c016281d 000034ce c0074d83 c0ca5dbc 00000000 0f300000 00000008
5dc0: 00000000 00000000 00000000 00000000 c0f71300 7c666a2e 00000000 c0f74a00
5de0: 00000000 00000000 00000000 0f300000 00000000 c6f0ee20 c0601e40 00000000
5e00: 0f300000 c01c23dd c0ca4000 c0075121 c0f712c0 00000000 c0f712c0 00000000
5e20: c0f74a00 c0f74a00 00000000 0f300000 00000000 c0ca4000 00000000 c01c23dd
5e40: c0f712c0 00000000 0f300000 c0ca5e6c 00000000 c03ba248 bf9499ad bf99e944
5e60: bf99eb44 00000000 c040b000 c0008404 c0ca4000 00000000 00000000 bf8b875d
5e80: bf94d293 c06f2100 bf985268 bfa1a833 bf94d221 c032bb99 c0422b90 bfa1a001
5ea0: ffffe000 bfa1a013 00000000 c00097ab bf92503c 00000234 00000000 00000000
5ec0: 00000000 00000000 6e72656b 00006c65 00000000 00000000 00000001 c0601e40
5ee0: 00000cc0 c0ca4000 0000347a c0074f21 c0ca5efc 00000000 00000000 7c666a2e
5f00: 00000000 bf987580 b6fcbc80 c13fc240 0000017b c004af67 bf987580 60000013
5f20: 00000000 b6fcbc80 00000003 c004c6cf c0ca5f40 7fffffff 00000000 00000002
5f40: c888f000 c89aa708 c89f5100 c888f000 0025f238 c8aece60 c8aec7a4 c8a50650
5f60: 00191000 001d2c20 0007685c 001fedc2 00000000 00000000 00000000 0007684c
5f80: 0000007c 0000007d 00000074 00000000 0000004c 00000000 b6fcbc80 00000000
5fa0: 0000017b c0008201 b6fcbc80 00000000 00000003 b6fcbc80 00000000 bef68f0c
5fc0: b6fcbc80 00000000 0000017b 0000017b 8683fbf8 00000000 00000000 00000000
5fe0: bef68f0c bef68d50 00474a69 b6f8b0b0 60000030 00000003 00000000 00000000
[<bf897826>] (MI_SYS_Cmdq_AllocateBuffer [mi]) from [<bf8978c1>] (MI_SYS_Cmdq_InitMmapInfo+0x15/0x24 [mi])
[<bf8978c1>] (MI_SYS_Cmdq_InitMmapInfo [mi]) from [<bf89c4ff>] (MI_SYS_IMPL_Init+0x1fb/0x4c0 [mi])
[<bf89c4ff>] (MI_SYS_IMPL_Init [mi]) from [<bf8b875d>] (mi_sys_insmod+0x21/0x4c [mi])
[<bf8b875d>] (mi_sys_insmod [mi]) from [<bfa1a833>] (sys__module_init+0x6b/0xb8 [mi])
[<bfa1a833>] (sys__module_init [mi]) from [<bfa1a013>] (init_module+0x13/0x44 [mi])
[<bfa1a013>] (init_module [mi]) from [<c00097ab>] (do_one_initcall+0x43/0x114)
[<c00097ab>] (do_one_initcall) from [<c004af67>] (do_init_module+0x37/0x13c)
[<c004af67>] (do_init_module) from [<c004c6cf>] (sys_finit_module+0x51/0x5a)
[<c004c6cf>] (sys_finit_module) from [<c0008201>] (ret_fast_syscall+0x1/0x64)
Exception stack(0xc0ca5fa8 to 0xc0ca5ff0)
5fa0:                   b6fcbc80 00000000 00000003 b6fcbc80 00000000 bef68f0c
5fc0: b6fcbc80 00000000 0000017b 0000017b 8683fbf8 00000000 00000000 00000000
5fe0: bef68f0c bef68d50 00474a69 b6f8b0b0
Code: 2145 480e f128 d985 (de02) 4603 
---[ end trace 681652eda01fbffb ]---
Segmentation fault
OpenIPC: Sensor assigned - imx335
random: fast init done
sensor_imx335_mipi: gave up waiting for init of module mi.
sensor_imx335_mipi: Unknown symbol DrvSensorRelease (err -16)
sensor_imx335_mipi: gave up waiting for init of module mi.
sensor_imx335_mipi: Unknown symbol DrvRegisterSensorDriverEx (err -16)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions