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

[BUG] esp32s3 up_putc clears all interrupts #14872

Closed
1 task done
yamt opened this issue Nov 20, 2024 · 1 comment · Fixed by #14975
Closed
1 task done

[BUG] esp32s3 up_putc clears all interrupts #14872

yamt opened this issue Nov 20, 2024 · 1 comment · Fixed by #14975
Labels
Arch: xtensa Issues related to the Xtensa architecture Area: Drivers Drivers issues OS: Mac Issues related to MacOS (building system, etc) Type: Bug Something isn't working

Comments

@yamt
Copy link
Contributor

yamt commented Nov 20, 2024

Description / Steps to reproduce the issue

esp32s3 up_putc temporarily disables interrupts.
while doing so, it clears all pending interrupts, even ones unrelated to TX.

/* Clear all ints */
putreg32(0xffffffff, UART_INT_CLR_REG(priv->id));

it seems inappropriate to me, especially when there can be concurrent interrupt-based activities on the UART. (eg. drivers/serial.c)

On which OS does this issue occur?

[OS: Mac]

What is the version of your OS?

macOS 14.7

NuttX Version

master

Issue Architecture

[Arch: xtensa]

Issue Area

[Area: Drivers]

Verification

  • I have verified before submitting the report.
@yamt yamt added the Type: Bug Something isn't working label Nov 20, 2024
@github-actions github-actions bot added Arch: xtensa Issues related to the Xtensa architecture Area: Drivers Drivers issues OS: Mac Issues related to MacOS (building system, etc) labels Nov 20, 2024
@yamt
Copy link
Contributor Author

yamt commented Nov 20, 2024

there seems to be a few copies in the tree.

spacetanuki% git grep "Clear all ints"
arch/risc-v/src/common/espressif/esp_lowputc.c:  /* Clear all ints */
arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.c:  /* Clear all ints */
arch/xtensa/src/esp32s2/esp32s2_lowputc.c:  /* Clear all ints */
arch/xtensa/src/esp32s3/esp32s3_lowputc.c:      /* Clear all ints */
spacetanuki% 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Arch: xtensa Issues related to the Xtensa architecture Area: Drivers Drivers issues OS: Mac Issues related to MacOS (building system, etc) Type: Bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant