[BUG] STM32H7 tickless mode stops filesystem from initializing
Description / Steps to reproduce the issue
The filesystem fails to initialize when SCHED_TICKLESS is enabled. Would love some direction to debug such issue.
Logs:
nx_mount: found procfs
stm32_sdio_initialize: Initializing SDIO slot 0
stm32_sdio_initialize: Bind SDIO to the MMC/SD driver, minor=0
mmcsd_slotinitialize: minor: 0
mmcsd_hwinitialize: DMA supported: 1
mmcsd_hwinitialize: Attached MMC/SD interrupts
mmcsd_slotinitialize: MMC/SD slot is empty
mmcsd_slotinitialize: MMC: /dev/mmcsd0 0KB 1-bit backwards compatibility mode
stm32_sdio_initialize: Successfully bound SDIO to the MMC/SD driver
mmcsd_mediachange: arg: 0x2400bec0
mmcsd_probe: type: 0 probed: 0
mmcsd_removed: type: 0 present: 1
mmcsd_widebus: No card inserted.
mmcsd_probe: Card present. Probing....
mmcsd_cardidentify: Identifying card...
mmcsd_cardidentify: SD V2.x card
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: R3: 00ff8000
mmcsd_cardidentify: ERROR: Failed to identify card
mmcsd_probe: ERROR: Failed to initialize card: -5
find_blockdriver: pathname="/dev/mmcsd0"
find_blockdriver: ERROR: Failed to find /dev/mmcsd0
open_blockdriver: ERROR: Failed to file /dev/mmcsd0 block driver
stm32_bringup: Partition 0 did not register
find_blockdriver: pathname="/dev/mmcsd0"
find_blockdriver: ERROR: Failed to find /dev/mmcsd0
open_blockdriver: ERROR: Failed to file /dev/mmcsd0 block driver
stm32_bringup: Partition 1 did not register
find_blockdriver: pathname="/dev/mmcsd0p0"
find_blockdriver: ERROR: Failed to find /dev/mmcsd0p0
nx_mount: ERROR: Failed to find block driver /dev/mmcsd0p0
stm32_bringup: ERROR: Could not mount fat partition -15:
NuttShell (NSH)
nsh>
On which OS does this issue occur?
[OS: Mac]
What is the version of your OS?
MacOs latest
NuttX Version
release/12.12
Issue Architecture
[Arch: arm]
Issue Area
[Area: File System]
Host information
No response
Verification
- [x] I have verified before submitting the report.
For fun, see if it works before #17204
I'm on release/12.12 which is before that commit. Master doesn't work either. Time to bisect
@bskdany to speed up your bisect process you can just use some old release, like 12.0 and then if it fails you move to 12.6 (do a binary search with releases first before using git bisect).
@bskdany to speed up your bisect process you can just use some old release, like 12.0 and then if it fails you move to 12.6 (do a binary search with releases first before using git bisect).
Doing git bisect on NuttX is hard because you need to do it with nuttx-apps at same time, so doing with official releases first is easy
Yes doing it with the apps simultaneously is a huge PITA. I think it might actually be worthwhile to come up with a tool for helping with this (i.e. perform the bisect, then run the tool and it can tell based on the data of the current nuttx commit which commit to check out on nuttx-apps and does it for you). You also usually have to make distclean in between to not confuse the build system which sucks.
Yes, I think some script to help in this process will be useful.