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

Fix RP2350 Hang During storage.erase_filesystem #10111

Merged
merged 1 commit into from
Mar 5, 2025

Conversation

eightycc
Copy link

@eightycc eightycc commented Mar 5, 2025

RP2350 would double-fault and hang-up during a storage.erase_filesystem() with a picodvi.Framebuffer object active. In supervisor_flash_init() a call to flash_do_command() was performed without disabling interrupts. Added needed calls to disable and enable interrupts.

Resolves #10104.

@jepler
Copy link
Member

jepler commented Mar 5, 2025

I wonder whether this disable should be done inside supervisor_flash_pre_write & similar for the enable in post_write.

Copy link
Member

@jepler jepler left a comment

Choose a reason for hiding this comment

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

I think this can go in as-is but some thought might be given to whether to move the disable/enable interrupts call, as my previous comment mentions.

@eightycc
Copy link
Author

eightycc commented Mar 5, 2025

@jepler Absolutely. I'm preparing a second PR that I'll be submitting shortly that cleans up pre/post flash processing plus a few other minor issues in framebuffer.

@tannewt tannewt merged commit 612d22c into adafruit:main Mar 5, 2025
157 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

weird storage.erase_filesystem() problems on metro rp2350
3 participants