Skip to content

cpu/cortexm_common: flush pipeline before disabling interrupts in idle [backport 2020.10]#15238

Merged
bergzand merged 1 commit into
RIOT-OS:2020.10-branchfrom
benpicco:backport/2020.10/cpu/cortexm_common_idle_flush
Oct 17, 2020
Merged

cpu/cortexm_common: flush pipeline before disabling interrupts in idle [backport 2020.10]#15238
bergzand merged 1 commit into
RIOT-OS:2020.10-branchfrom
benpicco:backport/2020.10/cpu/cortexm_common_idle_flush

Conversation

@benpicco

Copy link
Copy Markdown
Contributor

Backport of #15236

Contribution description

When enabling & disabling interrupts back-to-back pending interrupts are not serviced on Cortex-M23/M33.

Flush the pipeline to give interrupts a chance of executing in sched_arch_idle().

This fixes no_idle_thread on Cortex-M23.

Testing procedure

Issues/PRs references

#14557 (comment)

When enabling & disabling interrupts back-to-back pending interrupts
are not serviced on Cortex-M23/M33.

Flush the pipeline to give interrupts a chance of executing in `sched_arch_idle()`.

This fixes `no_idle_thread` on Cortex-M23.

(cherry picked from commit c48b331)
@benpicco benpicco added Area: cpu Area: CPU/MCU ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Process: release backport Integration Process: The PR is a release backport of a change previously provided to master Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) labels Oct 16, 2020
@benpicco benpicco requested a review from maribu October 16, 2020 21:20

@bergzand bergzand left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

@bergzand bergzand merged commit eb91541 into RIOT-OS:2020.10-branch Oct 17, 2020
@benpicco benpicco deleted the backport/2020.10/cpu/cortexm_common_idle_flush branch October 17, 2020 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: cpu Area: CPU/MCU ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Process: release backport Integration Process: The PR is a release backport of a change previously provided to master Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants