Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ODROID-XU4 not starting on 12.0.dev20240202 #3137

Closed
agners opened this issue Feb 2, 2024 · 0 comments · Fixed by #3158
Closed

ODROID-XU4 not starting on 12.0.dev20240202 #3137

agners opened this issue Feb 2, 2024 · 0 comments · Fixed by #3158
Labels
board/odroid Hardkernel's ODROID Boards bug

Comments

@agners
Copy link
Member

agners commented Feb 2, 2024

Describe the issue you are experiencing

It seems that booting on ODROID-XU4 broke with the update to Linux 6.6. It seems that the SD/MMC controller doesn't initialize properly:

[    4.870279] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
[    4.875929] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
[    4.882181] dwmmc_exynos 12220000.mmc: Version ID is 250a
[    4.887560] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 136,64 bit host data width,64 deep fifo
[    4.890284] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[    4.903906] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[    4.910161] dwmmc_exynos 12200000.mmc: Version ID is 250a
[    4.915510] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 137,64 bit host data width,64 deep fifo
[    4.927609] Waiting for root device PARTUUID=48617373-08...

But there seem to be other issues noted too on this particular platform. See the full boot log:

U-Boot 2024.01 (Feb 02 2024 - 14:51:03 +0000) for ODROID-XU3/XU4/HC1/HC2

DRAM:  2 GiB
Core:  72 devices, 12 uclasses, devicetree: separate
MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
Model: Odroid XU3/XU4/HC1/HC2 based on Exynos5422
Type:  xu4
Boot device: MMC(0)
Net:   No ethernet found.
Card did not respond to voltage select! : -110
MMC Device 1 not found
no mmc device at slot 1
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2723 bytes read in 13 ms (204.1 KiB/s)
## Executing script at 50000000
switch to partitions #0, OK
mmc0(part 0) is current device
loading env...

MMC read: dev # 0, block # 1222656, count 32 ... 32 blocks read: OK
36 bytes read in 12 ms (2.9 KiB/s)
65151 bytes read in 15 ms (4.1 MiB/s)
Working FDT set to 43000000
Trying to boot slot B, 1 attempts remaining. Loading kernel ...
11568432 bytes read in 2932 ms (3.8 MiB/s)
storing env...

MMC write: dev # 0, block # 1222656, count 32 ... 32 blocks written: OK
bootargs=zram.enabled=1 zram.num_devices=3 systemd.machine_id=f6fbbc0070904ba383c3e1af56c48af3 fsck.repair=yes  root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait rauc.slot=B console=tty1 console=ttySAC2,115200
Starting kernel
Kernel image @ 0x42000000 [ 0x000000 - 0xb08530 ]
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
Working FDT set to 43000000
   Loading Device Tree to 4ffed000, end 4ffffe7e ... OK
Working FDT set to 4ffed000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x100
[    0.000000] Linux version 6.6.15-haos (builder@36d58c8519d6) (arm-buildroot-linux-gnueabihf-gcc.br_real (Buildroot -g235a3aee) 11.4.0, GNU ld (GNU Binutils) 2.38) #1 SMP PREEMPT Fri Feb  2 14:46:14 UTC 2024
[    0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Hardkernel Odroid XU4
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 96 MiB at 0xb8800000 on node -1
[    0.000000] Samsung CPU ID: 0xe5422001
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000040000000-0x000000006fffffff]
[    0.000000]   HighMem  [mem 0x0000000070000000-0x00000000be9fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000be9fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000be9fffff]
[    0.000000] Running under secure firmware.
[    0.000000] percpu: Embedded 19 pages/cpu s47284 r8192 d22348 u77824
[    0.000000] Kernel command line: zram.enabled=1 zram.num_devices=3 systemd.machine_id=f6fbbc0070904ba383c3e1af56c48af3 fsck.repair=yes  root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait rauc.slot=B console=tty1 console=ttySAC2,115200
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516928
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1926436K/2074624K available (14336K kernel code, 1714K rwdata, 4908K rodata, 1024K init, 6667K bss, 49884K reserved, 98304K cma-reserved, 1189888K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] trace event string verifier disabled
[    0.000000] Running RCU self tests
[    0.000000] Running RCU synchronous self tests
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU lockdep checking is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] Running RCU synchronous self tests
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] Switching to timer-based delay loop, resolution 41ns
[    0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000002] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000064] genirq: irq_chip COMBINER did not update eff. affinity mask of irq 57
[    0.001983] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.002020] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.002052] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.002076] Ignoring duplicate/late registration of read_current_timer delay
[    0.003556] Console: colour dummy device 80x30
[    0.003735] printk: console [tty1] enabled
[    0.011038] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.011230] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.011338] ... MAX_LOCK_DEPTH:          48
[    0.011446] ... MAX_LOCKDEP_KEYS:        8192
[    0.011556] ... CLASSHASH_SIZE:          4096
[    0.011667] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.011779] ... MAX_LOCKDEP_CHAINS:      65536
[    0.011890] ... CHAINHASH_SIZE:          32768
[    0.012002]  memory used by lock dependency info: 4125 kB
[    0.012132]  memory used for stack traces: 2112 kB
[    0.012250]  per task-struct memory footprint: 1536 bytes
[    0.012466] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.012713] CPU: Testing write buffer coherency: ok
[    0.013059] pid_max: default: 32768 minimum: 301
[    0.013562] LSM: initializing lsm=capability,apparmor,integrity
[    0.014133] AppArmor: AppArmor initialized
[    0.014774] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.014975] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.021198] Running RCU synchronous self tests
[    0.021359] Running RCU synchronous self tests
[    0.023703] CPU0: thread -1, cpu 0, socket 1, mpidr 80000100
[    0.029620] RCU Tasks: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1.
[    0.030557] RCU Tasks Trace: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1.
[    0.031162] Running RCU-tasks wait API self tests
[    0.140913] Setting up static identity map for 0x40100000 - 0x40100060
[    0.142158] ARM CCI driver probed
[    0.143040] Exynos MCPM support installed
[    0.144411] rcu: Hierarchical SRCU implementation.
[    0.144547] rcu:     Max phase no-delay instances is 1000.
[    0.151868] smp: Bringing up secondary CPUs ...
[    0.156126] CPU1: thread -1, cpu 1, socket 1, mpidr 80000101
[    0.161793] CPU2: thread -1, cpu 2, socket 1, mpidr 80000102
[    0.166428] CPU3: thread -1, cpu 3, socket 1, mpidr 80000103
[    0.170828] CPU4: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.170851] CPU4: detected I-Cache line size mismatch, workaround enabled
[    0.170864] CPU4: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.171432] CPU4: Spectre BHB: enabling loop workaround for all CPUs
[    0.175615] CPU5: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.175634] CPU5: detected I-Cache line size mismatch, workaround enabled
[    0.175646] CPU5: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.180078] CPU6: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.180098] CPU6: detected I-Cache line size mismatch, workaround enabled
[    0.180110] CPU6: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.184631] CPU7: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.184650] CPU7: detected I-Cache line size mismatch, workaround enabled
[    0.184662] CPU7: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.185996] smp: Brought up 1 node, 8 CPUs
[    0.186161] SMP: Total of 8 processors activated (384.00 BogoMIPS).
[    0.186323] CPU: All CPU(s) started in HYP mode.
[    0.186446] CPU: Virtualization extensions available.
[    0.193018] devtmpfs: initialized
[    0.210108] Callback from call_rcu_tasks_trace() invoked.
[    0.293306] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    0.294888] Running RCU synchronous self tests
[    0.295051] Running RCU synchronous self tests
[    0.296605] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.296804] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.300619] pinctrl core: initialized pinctrl subsystem
[    0.306705] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.312151] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.321540] audit: initializing netlink subsys (disabled)
[    0.322434] audit: type=2000 audit(0.320:1): state=initialized audit_enabled=0 res=1
[    0.325266] thermal_sys: Registered thermal governor 'step_wise'
[    0.325702] cpuidle: using governor menu
[    0.327088] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.327289] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.362751] Callback from call_rcu_tasks() invoked.
[    0.413589] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.416029] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.417903] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.419321] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.420714] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.427771] gpio gpiochip5: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.429211] gpio gpiochip6: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.430609] gpio gpiochip7: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.432065] gpio gpiochip8: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.433493] gpio gpiochip9: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.434886] gpio gpiochip10: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.436308] gpio gpiochip11: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.437702] gpio gpiochip12: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.439119] gpio gpiochip13: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.440497] gpio gpiochip14: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.441973] gpio gpiochip15: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.443371] gpio gpiochip16: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.444765] gpio gpiochip17: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.451293] gpio gpiochip18: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.452720] gpio gpiochip19: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.454100] gpio gpiochip20: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.455519] gpio gpiochip21: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.456905] gpio gpiochip22: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.458325] gpio gpiochip23: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.459704] gpio gpiochip24: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.461193] gpio gpiochip25: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.467891] gpio gpiochip26: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.469333] gpio gpiochip27: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.470732] gpio gpiochip28: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.472203] gpio gpiochip29: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.473612] gpio gpiochip30: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.475010] gpio gpiochip31: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.476413] gpio gpiochip32: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.477807] gpio gpiochip33: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.479193] gpio gpiochip34: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.485537] gpio gpiochip35: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.508765] EXYNOS5420 PMU initialized
[    0.678502] iommu: Default domain type: Translated
[    0.678603] iommu: DMA domain TLB invalidation policy: strict mode
[    0.681057] SCSI subsystem initialized
[    0.682128] usbcore: registered new interface driver usbfs
[    0.682424] usbcore: registered new interface driver hub
[    0.682741] usbcore: registered new device driver usb
[    0.685204] s3c-i2c 12c80000.i2c: slave address 0x00
[    0.685311] s3c-i2c 12c80000.i2c: bus frequency set to 65 KHz
[    0.686774] s3c-i2c 12c80000.i2c: i2c-2: S3C I2C adapter
[    0.687834] mc: Linux media interface: v0.10
[    0.688168] videodev: Linux video capture interface: v2.00
[    0.688600] pps_core: LinuxPPS API ver. 1 registered
[    0.688692] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.688887] PTP clock support registered
[    0.690852] Advanced Linux Sound Architecture Driver Initialized.
[    0.694514] nfc: nfc_init: NFC Core ver 0.1
[    0.694943] NET: Registered PF_NFC protocol family
[    0.696741] clocksource: Switched to clocksource mct-frc
[    0.703316] AppArmor: AppArmor Filesystem Enabled
[    0.754264] NET: Registered PF_INET protocol family
[    0.755017] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.758310] tcp_listen_portaddr_hash hash table entries: 512 (order: 2, 20480 bytes, linear)
[    0.758923] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.759075] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.759533] TCP bind hash table entries: 8192 (order: 7, 655360 bytes, linear)
[    0.763384] TCP: Hash tables configured (established 8192 bind 8192)
[    0.763995] UDP hash table entries: 512 (order: 3, 49152 bytes, linear)
[    0.764414] UDP-Lite hash table entries: 512 (order: 3, 49152 bytes, linear)
[    0.765462] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.768084] RPC: Registered named UNIX socket transport module.
[    0.768253] RPC: Registered udp transport module.
[    0.768343] RPC: Registered tcp transport module.
[    0.768431] RPC: Registered tcp-with-tls transport module.
[    0.768527] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.777134] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[    0.780564] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[    0.789939] Initialise system trusted keyrings
[    0.790917] workingset: timestamp_bits=14 max_order=19 bucket_order=5
[    0.792825] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.794211] NFS: Registering the id_resolver key type
[    0.794414] Key type id_resolver registered
[    0.794557] Key type id_legacy registered
[    0.794712] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.794984] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.795241] romfs: ROMFS MTD (C) 2007 Red Hat, Inc.
[    0.796936] Key type asymmetric registered
[    0.797084] Asymmetric key parser 'x509' registered
[    0.797561] bounce: pool size: 64 pages
[    0.797778] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.798751] io scheduler mq-deadline registered
[    0.798846] io scheduler kyber registered
[    0.799063] io scheduler bfq registered
[    0.801597] samsung-pinctrl 13400000.pinctrl: Failed to create device link (0x180) with soc
[    0.808831] samsung-usb2-phy 12130000.phy: supply vbus not found, using dummy regulator
[    0.812120] exynos5_usb3drd_phy 12100000.phy: supply vbus not found, using dummy regulator
[    0.812846] exynos5_usb3drd_phy 12100000.phy: supply vbus-boost not found, using dummy regulator
[    0.814599] exynos5_usb3drd_phy 12500000.phy: supply vbus not found, using dummy regulator
[    0.815317] exynos5_usb3drd_phy 12500000.phy: supply vbus-boost not found, using dummy regulator
[    0.838777] dma-pl330 3880000.dma-controller: Loaded driver for PL330 DMAC-241330
[    0.838919] dma-pl330 3880000.dma-controller:        DBUFF-4x8bytes Num_Chans-6 Num_Peri-16 Num_Events-6
[    0.852245] dma-pl330 121a0000.dma-controller: Loaded driver for PL330 DMAC-241330
[    0.852384] dma-pl330 121a0000.dma-controller:       DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    0.864279] dma-pl330 3880000.dma-controller: PM domain MAU will not be powered off
[    0.865658] dma-pl330 121b0000.dma-controller: Loaded driver for PL330 DMAC-241330
[    0.865795] dma-pl330 121b0000.dma-controller:       DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    0.870553] dma-pl330 10800000.dma-controller: Loaded driver for PL330 DMAC-241330
[    0.870689] dma-pl330 10800000.dma-controller:       DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32
[    1.181738] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.196543] 12c00000.serial: ttySAC0 at MMIO 0x12c00000 (irq = 123, base_baud = 0) is a S3C6400/10
[    1.200748] 12c10000.serial: ttySAC1 at MMIO 0x12c10000 (irq = 124, base_baud = 0) is a S3C6400/10
[    1.204344] 12c20000.serial: ttySAC2 at MMIO 0x12c20000 (irq = 125, base_baud = 0) is a S3C6400/10
[    1.204860] printk: console [ttySAC2] enabled
[    2.694896] 12c30000.serial: ttySAC3 at MMIO 0x12c30000 (irq = 126, base_baud = 0) is a S3C6400/10
[    2.707867] random: crng init done
[    2.708402] exynos-trng 10830600.rng: Exynos True Random Number Generator.
[    2.721299] exynos-mixer 14450000.mixer: Adding to iommu group 0
[    2.794441] brd: module loaded
[    2.837805] loop: module loaded
[    2.843218] zram: Added device: zram0
[    2.848409] zram: Added device: zram1
[    2.853164] zram: Added device: zram2
[    2.864132] tun: Universal TUN/TAP device driver, 1.6
[    2.876424] phy phy-12130000.phy.6: phy_power_on was called before phy_init
[    2.882210] exynos-ehci 12110000.usb: EHCI Host Controller
[    2.888022] exynos-ehci 12110000.usb: new USB bus registered, assigned bus number 1
[    2.896277] exynos-ehci 12110000.usb: irq 127, io mem 0x12110000
[    2.926818] exynos-ehci 12110000.usb: USB 2.0 started, EHCI 1.00
[    2.933422] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.06
[    2.940628] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.947667] usb usb1: Product: EHCI Host Controller
[    2.952420] usb usb1: Manufacturer: Linux 6.6.15-haos ehci_hcd
[    2.958300] usb usb1: SerialNumber: 12110000.usb
[    2.966911] hub 1-0:1.0: USB hub found
[    2.969563] hub 1-0:1.0: 3 ports detected
[    2.979762] phy phy-12130000.phy.6: phy_power_on was called before phy_init
[    2.985367] exynos-ohci 12120000.usb: USB Host Controller
[    2.990909] exynos-ohci 12120000.usb: new USB bus registered, assigned bus number 2
[    2.998903] exynos-ohci 12120000.usb: irq 127, io mem 0x12120000
[    3.071495] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.06
[    3.078507] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.085598] usb usb2: Product: USB Host Controller
[    3.090393] usb usb2: Manufacturer: Linux 6.6.15-haos ohci_hcd
[    3.096147] usb usb2: SerialNumber: 12120000.usb
[    3.103303] hub 2-0:1.0: USB hub found
[    3.105762] hub 2-0:1.0: 3 ports detected
[    3.115255] usbcore: registered new interface driver uas
[    3.119475] usbcore: registered new interface driver usb-storage
[    3.125468] usbcore: registered new interface driver usbserial_generic
[    3.132078] usbserial: USB Serial support registered for generic
[    3.139855] UDC core: g_ether: couldn't find an available UDC
[    3.150507] i2c_dev: i2c /dev entries driver
[    3.182912] s5m-rtc s2mps14-rtc: registered as rtc0
[    3.190083] s5m-rtc s2mps14-rtc: setting system clock to 2000-01-01T00:00:10 UTC (946684810)
[    3.198623] s2mps11-clk s2mps11-clk: DMA mask not set
[    3.214384] Driver for 1-wire Dallas network protocol.
[    3.234926] exynos-tmu 10060000.tmu: More trip points than supported by this TMU.
[    3.237199] vddq_mmc2: Bringing 3300000uV into 2800000-2800000uV
[    3.241029] exynos-tmu 10060000.tmu: 2 trip points should be configured in polling mode.
[    3.259888] exynos-tmu 10064000.tmu: More trip points than supported by this TMU.
[    3.266015] exynos-tmu 10064000.tmu: 2 trip points should be configured in polling mode.
[    3.275756]
[    3.275867] ======================================================
[    3.281996] WARNING: possible circular locking dependency detected
[    3.288149] 6.6.15-haos #1 Not tainted
[    3.291861] ------------------------------------------------------
[    3.298026] kworker/0:0/8 is trying to acquire lock:
[    3.302960] c38b16b0 (&data->lock#2){+.+.}-{3:3}, at: exynos_get_temp+0x3c/0xc8
[    3.310255]
[    3.310255] but task is already holding lock:
[    3.316051] c2b66b94 (&tz->lock){+.+.}-{3:3}, at: thermal_zone_device_update+0x1c/0x54
[    3.323949]
[    3.323949] which lock already depends on the new lock.
[    3.323949]
[    3.332097]
[    3.332097] the existing dependency chain (in reverse order) is:
[    3.339543]
[    3.339543] -> #1 (&tz->lock){+.+.}-{3:3}:
[    3.345079]        __mutex_lock+0xa0/0x95c
[    3.349142]        mutex_lock_nested+0x1c/0x24
[    3.353562]        thermal_zone_get_trip+0x20/0x44
[    3.358330]        exynos_tmu_initialize+0x144/0x1ec
[    3.363270]        exynos_tmu_probe+0x2b0/0x70c
[    3.367774]        platform_probe+0x5c/0xbc
[    3.371932]        really_probe+0xe0/0x400
[    3.376004]        __driver_probe_device+0x9c/0x1f0
[    3.376728] exynos5-hsi2c 12ca0000.i2c: tx timeout
[    3.380824]        driver_probe_device+0x30/0xc0
[    3.387274] exynos-tmu 10068000.tmu: More trip points than supported by this TMU.
[    3.390182]        __driver_attach+0x124/0x1d4
[    3.397674] exynos-tmu 10068000.tmu: 2 trip points should be configured in polling mode.
[    3.402054]        bus_for_each_dev+0x70/0xc4
[    3.414727]        bus_add_driver+0xe0/0x200
[    3.418726]        driver_register+0x7c/0x114
[    3.423059]        do_one_initcall+0x6c/0x310
[    3.427391]        kernel_init_freeable+0x2a4/0x304
[    3.432247]        kernel_init+0x18/0x12c
[    3.436228]        ret_from_fork+0x14/0x28
[    3.440302]
[    3.440302] -> #0 (&data->lock#2){+.+.}-{3:3}:
[    3.446207]        __lock_acquire+0x1540/0x298c
[    3.450703]        lock_acquire+0x130/0x380
[    3.454860]        __mutex_lock+0xa0/0x95c
[    3.458932]        mutex_lock_nested+0x1c/0x24
[    3.463353]        exynos_get_temp+0x3c/0xc8
[    3.467599]        __thermal_zone_get_temp+0x48/0x15c
[    3.472628]        __thermal_zone_device_update.part.0+0x68/0x4b4
[    3.478700]        thermal_zone_device_update+0x48/0x54
[    3.483895]        exynos_tmu_work+0x1c/0x58
[    3.486753] exynos5-hsi2c 12ca0000.i2c: tx timeout
[    3.488101]        process_one_work+0x20c/0x620
[    3.497477]        worker_thread+0x1d0/0x488
[    3.501654]        kthread+0x104/0x138
[    3.505377]        ret_from_fork+0x14/0x28
[    3.509452]
[    3.509452] other info that might help us debug this:
[    3.509452]
[    3.517451]  Possible unsafe locking scenario:
[    3.517451]
[    3.523328]        CPU0                    CPU1
[    3.527824]        ----                    ----
[    3.532330]   lock(&tz->lock);
[    3.535356]                                lock(&data->lock#2);
[    3.541263]                                lock(&tz->lock);
[    3.546807]   lock(&data->lock#2);
[    3.550175]
[    3.550175]  *** DEADLOCK ***
[    3.550175]
[    3.556087] 3 locks held by kworker/0:0/8:
[    3.560144]  #0: c20086a8 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x150/0x620
[    3.568838]  #1: f0889f20 ((work_completion)(&data->irq_work)){+.+.}-{0:0}, at: process_one_work+0x150/0x620
[    3.578635]  #2: c2b66b94 (&tz->lock){+.+.}-{3:3}, at: thermal_zone_device_update+0x1c/0x54
[    3.586947]
[    3.586947] stack backtrace:
[    3.591259] CPU: 0 PID: 8 Comm: kworker/0:0 Not tainted 6.6.15-haos #1
[    3.596724] exynos5-hsi2c 12ca0000.i2c: tx timeout
[    3.597719] Hardware name: Samsung Exynos (Flattened Device Tree)
[    3.604145] exynos-tmu 1006c000.tmu: More trip points than supported by this TMU.
[    3.608554] Workqueue: events exynos_tmu_work
[    3.608582]  unwind_backtrace from show_stack+0x10/0x14
[    3.616006] exynos-tmu 1006c000.tmu: 2 trip points should be configured in polling mode.
[    3.620337]  show_stack from dump_stack_lvl+0x58/0x70
[    3.620363]  dump_stack_lvl from check_noncircular+0x178/0x194
[    3.644726]  check_noncircular from __lock_acquire+0x1540/0x298c
[    3.650450]  __lock_acquire from lock_acquire+0x130/0x380
[    3.655819]  lock_acquire from __mutex_lock+0xa0/0x95c
[    3.660930]  __mutex_lock from mutex_lock_nested+0x1c/0x24
[    3.666391]  mutex_lock_nested from exynos_get_temp+0x3c/0xc8
[    3.672112]  exynos_get_temp from __thermal_zone_get_temp+0x48/0x15c
[    3.678440]  __thermal_zone_get_temp from __thermal_zone_device_update.part.0+0x68/0x4b4
[    3.686512]  __thermal_zone_device_update.part.0 from thermal_zone_device_update+0x48/0x54
[    3.694745]  thermal_zone_device_update from exynos_tmu_work+0x1c/0x58
[    3.701231]  exynos_tmu_work from process_one_work+0x20c/0x620
[    3.706752] exynos5-hsi2c 12ca0000.i2c: tx timeout
[    3.706992]  process_one_work from worker_thread+0x1d0/0x488
[    3.711770] vdd_emmc_1V8: failed to get the current voltage: -ETIMEDOUT
[    3.717390]  worker_thread from kthread+0x104/0x138
[    3.717412]  kthread from ret_from_fork+0x14/0x28
[    3.717430] Exception stack(0xf0889fb0 to 0xf0889ff8)
[    3.723983] s2mps11-pmic s2mps11-regulator: regulator init failed for 17
[    3.728831] 9fa0:                                     00000000 00000000 00000000 00000000
[    3.728846] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.728859] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    3.733510] s2mps11-pmic: probe of s2mps11-regulator failed with error -110
[    3.742226] exynos-tmu 100a0000.tmu: More trip points than supported by this TMU.
[    3.754787] ------------[ cut here ]------------
[    3.761537] exynos-tmu 100a0000.tmu: 6 trip points should be configured in polling mode.
[    3.768116] WARNING: CPU: 5 PID: 60 at drivers/regulator/core.c:5760 regulator_unregister+0xf4/0x108
[    3.777175] device-mapper: ioctl: 4.48.0-ioctl (2023-03-01) initialised: [email protected]
[    3.782507] Modules linked in:
[    3.793415] pwrseq_emmc pwrseq: using DT '/pwrseq' for 'reset' GPIO lookup
[    3.795117]
[    3.804374] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/pwrseq[0]' - status (0)
[    3.812650] CPU: 5 PID: 60 Comm: kworker/u18:1 Not tainted 6.6.15-haos #1
[    3.815663] gpio_stub_drv gpiochip10: Persistence not supported for GPIO 0
[    3.822499] Hardware name: Samsung Exynos (Flattened Device Tree)
[    3.822508] Workqueue: events_unbound async_run_entry_fn
[    3.822531]  unwind_backtrace from show_stack+0x10/0x14
[    3.824472] sdhci: Secure Digital Host Controller Interface driver
[    3.833159]  show_stack from dump_stack_lvl+0x58/0x70
[    3.833185]  dump_stack_lvl from __warn+0x7c/0x1bc
[    3.839960] sdhci: Copyright(c) Pierre Ossman
[    3.846764]  __warn from warn_slowpath_fmt+0x1b0/0x1bc
[    3.846798]  warn_slowpath_fmt from regulator_unregister+0xf4/0x108
[    3.854446] Synopsys Designware Multimedia Card Interface Driver
[    3.858116]  regulator_unregister from release_nodes+0x6c/0x164
[    3.858154]  release_nodes from devres_release_all+0x80/0xd0
[    3.870022] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
[    3.870479] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[    3.874493]  devres_release_all from device_unbind_cleanup+0xc/0x60
[    3.881668] s5p-secss 10830000.sss: s5p-sss driver registered
[    3.883591]  device_unbind_cleanup from really_probe+0x260/0x400
[    3.890499] hid: raw HID events driver (C) Jiri Kosina
[    3.894942]  really_probe from __driver_probe_device+0x9c/0x1f0
[    3.904271] usbcore: registered new interface driver usbhid
[    3.906814]  __driver_probe_device from driver_probe_device+0x30/0xc0
[    3.906836]  driver_probe_device from __device_attach_driver+0xa8/0x120
[    3.906857]  __device_attach_driver from bus_for_each_drv+0x84/0xdc
[    3.912447] usbhid: USB HID core driver
[    3.919293]  bus_for_each_drv from __device_attach_async_helper+0xb0/0x108
[    3.919312]  __device_attach_async_helper from async_run_entry_fn+0x40/0x158
[    3.998435]  async_run_entry_fn from process_one_work+0x20c/0x620
[    4.003636]  process_one_work from worker_thread+0x1d0/0x488
[    4.009266]  worker_thread from kthread+0x104/0x138
[    4.014116]  kthread from ret_from_fork+0x14/0x28
[    4.014677] exynos-bus bus-wcore: failed to set regulators -517
[    4.018771] Exception stack(0xf097dfb0 to 0xf097dff8)
[    4.018783] dfa0:                                     00000000 00000000 00000000 00000000
[    4.018795] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    4.018805] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    4.026325] exynos-nocp: new NoC Probe device registered: 10ca1000.nocp
[    4.029786] irq event stamp: 12930
[    4.038890] exynos-nocp: new NoC Probe device registered: 10ca1400.nocp
[    4.045981] hardirqs last  enabled at (12929): [<c0eb03a8>] _raw_spin_unlock_irqrestore+0x5c/0x60
[    4.053611] exynos-nocp: new NoC Probe device registered: 10ca1800.nocp
[    4.059183] hardirqs last disabled at (12930): [<c0ea5db8>] __schedule+0x604/0xd78
[    4.063505] exynos-nocp: new NoC Probe device registered: 10ca1c00.nocp
[    4.069147] softirqs last  enabled at (12394): [<c010161c>] __do_softirq+0x318/0x4f4
[    4.080718] exynos-ppmu: new PPMU device registered 10d00000.ppmu (ppmu-event3-dmc0-0)
[    4.084542] softirqs last disabled at (12385): [<c0130390>] __irq_exit_rcu+0x130/0x184
[    4.093295] exynos-ppmu: new PPMU device registered 10d10000.ppmu (ppmu-event3-dmc0-1)
[    4.098696] ---[ end trace 0000000000000000 ]---
[    4.099286] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[    4.108334] exynos-ppmu: new PPMU device registered 10d60000.ppmu (ppmu-event3-dmc1-0)
[    4.114364] dwmmc_exynos 12200000.mmc: Version ID is 250a
[    4.114512] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
[    4.114541] dwmmc_exynos 12220000.mmc: Version ID is 250a
[    4.114681] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 136,64 bit host data width,64 deep fifo
[    4.123372] exynos-ppmu: new PPMU device registered 10d70000.ppmu (ppmu-event3-dmc1-1)
[    4.130287] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 137,64 bit host data width,64 deep fifo
[    4.200580] samsung-i2s 3830000.i2s-sec: DMA channels sourced from device 3830000.i2s
[    4.213409] IPVS: Registered protocols ()
[    4.216076] IPVS: Connection hash table configured (size=4096, memory=16Kbytes)
[    4.223531] IPVS: ipvs loaded.
[    4.226286] IPVS: [rr] scheduler registered.
[    4.230943] NET: Registered PF_INET6 protocol family
[    4.237551] Segment Routing with IPv6
[    4.239797] In-situ OAM (IOAM) with IPv6
[    4.244014] NET: Registered PF_PACKET protocol family
[    4.248851] NET: Registered PF_KEY protocol family
[    4.253533] Bridge firewalling registered
[    4.257588] Key type dns_resolver registered
[    4.262647] Registering SWP/SWPB emulation handler
[    4.291385] Loading compiled-in X.509 certificates
[    4.300671] zswap: loaded using pool lz4/zsmalloc
[    4.324327] AppArmor: AppArmor sha1 policy hashing enabled
[    4.429546] exynos-hdmi 14530000.hdmi: using DT '/soc/hdmi@14530000' for 'hpd' GPIO lookup
[    4.436443] of_get_named_gpiod_flags: parsed 'hpd-gpios' property of node '/soc/hdmi@14530000[0]' - status (0)
[    4.446439] gpio_stub_drv gpiochip4: Persistence not supported for GPIO 7
[    4.454571] panfrost 11800000.gpu: clock rate = 400000000
[    4.461807] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling
[    4.466556] s3c-rtc 101e0000.rtc: registered as rtc1
[    4.502339] exynos-bus bus-wcore: failed to set regulators -517
[    4.508674] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
[    4.514339] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
[    4.520576] dwmmc_exynos 12220000.mmc: Version ID is 250a
[    4.525916] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 136,64 bit host data width,64 deep fifo
[    4.537647] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[    4.541316] exynos-hdmi 14530000.hdmi: using DT '/soc/hdmi@14530000' for 'hpd' GPIO lookup
[    4.551446] of_get_named_gpiod_flags: parsed 'hpd-gpios' property of node '/soc/hdmi@14530000[0]' - status (0)
[    4.551584] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[    4.561290] gpio_stub_drv gpiochip4: Persistence not supported for GPIO 7
[    4.564407] panfrost 11800000.gpu: clock rate = 400000000
[    4.569341] dwmmc_exynos 12200000.mmc: Version ID is 250a
[    4.585480] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 137,64 bit host data width,64 deep fifo
[    4.622328] exynos-bus bus-wcore: failed to set regulators -517
[    4.637032] exynos-hdmi 14530000.hdmi: using DT '/soc/hdmi@14530000' for 'hpd' GPIO lookup
[    4.637431] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
[    4.643936] of_get_named_gpiod_flags: parsed 'hpd-gpios' property of node '/soc/hdmi@14530000[0]' - status (0)
[    4.660929] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
[    4.662483] gpio_stub_drv gpiochip4: Persistence not supported for GPIO 7
[    4.667113] dwmmc_exynos 12220000.mmc: Version ID is 250a
[    4.677254] panfrost 11800000.gpu: clock rate = 400000000
[    4.679302] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 136,64 bit host data width,64 deep fifo
[    4.720686] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[    4.726296] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[    4.729967] printk: console [netcon0] enabled
[    4.732576] dwmmc_exynos 12200000.mmc: Version ID is 250a
[    4.737173] netconsole: network logging started
[    4.742237] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 137,64 bit host data width,64 deep fifo
[    4.749012] (NULL device *): using DT '/gpio-keys/power-key' for '(null)' GPIO lookup
[    4.764145] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys/power-key[0]' - status (0)
[    4.773751] gpio_stub_drv gpiochip1: Persistence not supported for GPIO 3
[    4.780934] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    4.788745] clk: Disabling unused clocks
[    4.795144] ALSA device list:
[    4.796736]   No soundcards found.
[    4.800294] exynos-bus bus-wcore: failed to set regulators -517
[    4.815376] exynos-hdmi 14530000.hdmi: using DT '/soc/hdmi@14530000' for 'hpd' GPIO lookup
[    4.822309] of_get_named_gpiod_flags: parsed 'hpd-gpios' property of node '/soc/hdmi@14530000[0]' - status (0)
[    4.833096] gpio_stub_drv gpiochip4: Persistence not supported for GPIO 7
[    4.840647] panfrost 11800000.gpu: clock rate = 400000000
[    4.870279] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
[    4.875929] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
[    4.882181] dwmmc_exynos 12220000.mmc: Version ID is 250a
[    4.887560] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 136,64 bit host data width,64 deep fifo
[    4.890284] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[    4.903906] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[    4.910161] dwmmc_exynos 12200000.mmc: Version ID is 250a
[    4.915510] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 137,64 bit host data width,64 deep fifo
[    4.927609] Waiting for root device PARTUUID=48617373-08...
[   15.211167] exynos-bus bus-wcore: failed to set regulators -517
[   15.225190] exynos-hdmi 14530000.hdmi: using DT '/soc/hdmi@14530000' for 'hpd' GPIO lookup
[   15.232128] of_get_named_gpiod_flags: parsed 'hpd-gpios' property of node '/soc/hdmi@14530000[0]' - status (0)
[   15.242044] gpio_stub_drv gpiochip4: Persistence not supported for GPIO 7
[   15.250449] panfrost 11800000.gpu: clock rate = 400000000
[   15.284899] platform bus-noc: deferred probe pending
[   15.287179] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
[   15.288959] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[   15.289065] platform bus-peri: deferred probe pending
[   15.289085] platform bus-wcore: deferred probe pending
[   15.289103] platform 10c20000.memory-controller: deferred probe pending
[   15.289121] platform 12d10000.adc: deferred probe pending
[   15.289138] platform sound: deferred probe pending
[   15.289157] platform 10000000.chipid: deferred probe pending
[   15.289172] platform 14530000.hdmi: deferred probe pending
[   15.289189] platform 11800000.gpu: deferred probe pending
[   15.289208] platform soc:usb@12000000: deferred probe pending
[   15.289225] platform soc:usb@12400000: deferred probe pending
[   15.289242] platform cpufreq-dt: deferred probe pending
[   15.289259] platform bus-disp1: deferred probe pending
[   15.289276] platform bus-disp1-fimd: deferred probe pending
[   15.289294] platform bus-fsys2: deferred probe pending
[   15.289311] platform bus-fsys-apb: deferred probe pending
[   15.289328] platform bus-g2d: deferred probe pending
[   15.289345] platform bus-g2d-acp: deferred probe pending
[   15.289362] platform bus-gen: deferred probe pending
[   15.289379] platform bus-gscl-scaler: deferred probe pending
[   15.289395] platform bus-jpeg: deferred probe pending
[   15.289412] platform bus-jpeg-apb: deferred probe pending
[   15.289430] platform bus-mfc: deferred probe pending
[   15.289447] platform bus-mscl: deferred probe pending
[   15.424599] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
[   15.430874] dwmmc_exynos 12220000.mmc: Version ID is 250a
[   15.431164] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[   15.436213] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 136,64 bit host data width,64 deep fifo
[   15.442637] dwmmc_exynos 12200000.mmc: Version ID is 250a
[   15.457508] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 137,64 bit host data width,64 deep fifo

What operating system image do you use?

odroid-xu4 (Hardkernel ODROID-XU4)

What version of Home Assistant Operating System is installed?

12.0.dev20240202

Did you upgrade the Operating System.

Yes

Steps to reproduce the issue

  1. Install 12.0.dev20240202 on ODROID-XU4.

Anything in the Supervisor logs that might be useful for us?

n/a

Anything in the Host logs that might be useful for us?

n/a

System information

No response

Additional information

No response

@agners agners added bug board/odroid Hardkernel's ODROID Boards labels Feb 2, 2024
sairon added a commit that referenced this issue Feb 8, 2024
ODROID XU4 fails to boot after update to Linux 6.6. Comparing downstream
kernel config with upstream exynos defconfig shows it has various lockdep
options enabled, and PROVE_LOCKING seems to be the one that causes the
issue. It seems it (or any of PROVE_RCU, TRACE_IRQFLAGS or
PREEMPTIRQ_TRACEPOINTS) which get enabled along with it) probably
triggers some timing issues on the I2C bus, which causes the main PMIC
to fail to properly initialize all voltages.

Since these options should not have any real impact on our system, the
easiest option is to disable them. If we need them, or want to stay
closer to upstream defconfig, further debugging is needed.

Fixes #3137
sairon added a commit that referenced this issue Feb 8, 2024
ODROID XU4 fails to boot after update to Linux 6.6. Comparing downstream
kernel config with upstream exynos defconfig shows it has various lockdep
options enabled, and PROVE_LOCKING seems to be the one that causes the
issue. It seems it (or any of PROVE_RCU, TRACE_IRQFLAGS or
PREEMPTIRQ_TRACEPOINTS) which get enabled along with it) probably
triggers some timing issues on the I2C bus, which causes the main PMIC
to fail to properly initialize all voltages.

Since these options should not have any real impact on our system, the
easiest option is to disable them. If we need them, or want to stay
closer to upstream defconfig, further debugging is needed.

Fixes #3137
sairon added a commit that referenced this issue Feb 8, 2024
ODROID XU4 fails to boot after update to Linux 6.6. Comparing downstream
kernel config with upstream exynos defconfig shows it has various lockdep
options enabled, and PROVE_LOCKING seems to be the one that causes the
issue. It seems it (or any of PROVE_RCU, TRACE_IRQFLAGS or
PREEMPTIRQ_TRACEPOINTS) which get enabled along with it) probably
triggers some timing issues on the I2C bus, which causes the main PMIC
to fail to properly initialize all voltages.

Since these options should not have any real impact on our system, the
easiest option is to disable them. If we need them, or want to stay
closer to upstream defconfig, further debugging is needed.

Fixes #3137
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
board/odroid Hardkernel's ODROID Boards bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant