diff options
author | Daniël van de Giessen <daniel@dvdgiessen.nl> | 2025-03-06 18:52:54 +0100 |
---|---|---|
committer | Daniël van de Giessen <daniel@dvdgiessen.nl> | 2025-05-14 15:55:31 +0200 |
commit | 155fa94fbf6afda9dbb3b8508c093648b5bffa09 (patch) | |
tree | 3087b2a9ff39afa295c893ee34bed199dbc93784 /tools/verifygitlog.py | |
parent | 883dc41d465a6a652b607b7982d8eb6be39fa7f4 (diff) |
esp32/machine_uart: Correctly manage UART queue and event task.
If the driver was reinitialised while there was
already an event task running the queue that task
is trying to receive from would be deleted,
causing it to try to take a lock that no longer
existed and deadlocking the CPU.
This change ensures the task is always shut down
before recreating the queue and recreates the task
afterwards.
It also allows setting an IRQ handler before the
UART is initialized (like other ports allow),
removes the task when the UART is deinitialized
(which was previously missing), adds a check that
no event task can be started when no queue exists,
and adds a check to prevent reinitialising the
UART driver unnecessarily.
Signed-off-by: Daniël van de Giessen <daniel@dvdgiessen.nl>
Diffstat (limited to 'tools/verifygitlog.py')
0 files changed, 0 insertions, 0 deletions