Skip to content

[BUG] reboot (BOARDIOC_RESET) fails on rp2040 with SMP enabled #16480

@sumpfralle

Description

@sumpfralle

Description / Steps to reproduce the issue

I am using an rp2040 board (based on w5500-evb-pico) with SMP enabled.

When trying to reboot the system, the reset-initiating thread starts to consume most of the CPU time (reducing the usual 50% share of the CPU's idle task). Probably it is waiting for the reboot to happen.
The reboot never happens.

Both of the following methods of triggering a reset show the same behavior:

  • run reboot in the nuttx shell
  • run boardctl(BOARDIOC_RESET, 0); in my code

I can work around the issue in two ways:

  • A) send a second reboot request (e.g. open another nsh session via telnet and execute "reboot")
  • B) disable SMP

The above behavior feels like only one of the CPUs is told to reboot.
The other CPU continues to run until someone else tells her to reboot, too.

Thanks for your time and thoughts!

On which OS does this issue occur?

[OS: Linux]

What is the version of your OS?

Debian Trixie

NuttX Version

master ( b0342c8)

Issue Architecture

[Arch: arm]

Issue Area

[Area: Board support]

Host information

host-info.txt

Verification

  • I have verified before submitting the report.

Metadata

Metadata

Assignees

Labels

Arch: armIssues related to ARM (32-bit) architectureArea: Board supportBoard support issuesOS: LinuxIssues related to Linux (building system, etc)Type: BugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions