Skip to content

SD card boot gets stuck often resulting in board not booting. #15

@kraj

Description

@kraj

I am using starfive_vic7100_evb_sd_net_defconfig for kernel and it results in kernel hangs during boot at times, almost everytime the system is rebooted. Following message is seen when the kernel gets stuck

[    2.216987] sdhci: Secure Digital Host Controller Interface driver
[    2.223206] sdhci: Copyright(c) Pierre Ossman
[    2.227616] Synopsys Designware Multimedia Card Interface Driver
[    2.233929] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.240680] dw_mmc 10000000.sdio0: IDMAC supports 32-bit address mode.
[    2.241157] NET: Registered protocol family 10
[    2.247368] dw_mmc 10000000.sdio0: Using internal DMA controller.
[    2.257870] dw_mmc 10000000.sdio0: Version ID is 290a
[    2.263093] dw_mmc 10000000.sdio0: DW MMC controller at irq 32,32 bit host data width,32 deep fifo
[    2.272303] Segment Routing with IPv6
[    2.272351] mmc_host mmc0: card is polling.
[    2.276110] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.280826] dw_mmc 10010000.sdio1: IDMAC supports 32-bit address mode.
[    2.287217] NET: Registered protocol family 17
[    2.292709] dw_mmc 10010000.sdio1: Using internal DMA controller.
[    2.297470] 9pnet: Installing 9P2000 support
[    2.303231] dw_mmc 10010000.sdio1: Version ID is 290a
[    2.307588] Key type dns_resolver registered
[    2.312602] dw_mmc 10010000.sdio1: DW MMC controller at irq 33,32 bit host data width,32 deep fifo
[    2.316984] debug_vm_pgtable: [debug_vm_pgtable         ]: Validating architecture page table helpers
[    2.326026] mmc_host mmc1: card is non-removable.
[    2.340468] dw-apb-uart 12440000.serial: forbid DMA for kernel console
[    2.491434] mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 400000Hz, actual 400000HZ div = 125)
[    2.551443] mmc_host mmc1: Bus speed (slot 0) = 100000000Hz (slot req 400000Hz, actual 400000HZ div = 125)
[    2.771949] Waiting for root device /dev/mmcblk0p2...
[    2.811404] dw_mmc 10010000.sdio1: Unexpected interrupt latency

I am now building with https://github.com/starfive-tech/freelight-u-sdk/blob/starfive/conf/sdk_210209_defconfig and that seems to result in better behavior where it does not get stuck in SD card issues as much.

but I do see another issue

[ 1059.839470] Showing busy workqueues and worker pools:
[ 1059.844509] workqueue events: flags=0x0
[ 1059.848329]   pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=5/256 refcnt=6
[ 1059.855104]     in-flight: 50:request_firmware_work_func
[ 1059.860413]     pending: delayed_fput, do_free_init, deferred_probe_work_func, rht_deferred_worker
[ 1059.869397] workqueue events_unbound: flags=0x2
[ 1059.873912]   pwq 4: cpus=0-1 flags=0x4 nice=0 active=2/512 refcnt=5
[ 1059.880250]     in-flight: 43:fsnotify_mark_destroy_workfn BAR(107), 7:fsnotify_connector_destroy_workfn
[ 1059.889726] workqueue events_freezable: flags=0x4
[ 1059.894409]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
[ 1059.901184]     pending: mmc_rescan
[ 1059.904685] workqueue events_power_efficient: flags=0x80
[ 1059.909976]   pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=2/256 refcnt=3
[ 1059.916748]     pending: gc_worker, reg_check_chans_work [cfg80211]
[ 1059.923849] workqueue rcu_gp: flags=0x8
[ 1059.927671]   pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
[ 1059.934449]     pending: process_srcu
[ 1059.938121] workqueue mm_percpu_wq: flags=0x8
[ 1059.942462]   pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
[ 1059.949235]     pending: vmstat_update
[ 1059.953005] pool 2: cpus=1 node=0 flags=0x0 nice=0 hung=1054s workers=3 idle: 35 17
[ 1059.960659] pool 4: cpus=0-1 flags=0x4 nice=0 hung=20s workers=4 idle: 119 49
[ 1028.471352] BUG: workqueue lockup - pool cpus=1 node=0 flags=0x0 nice=0 stuck for 1023s!

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions