Attention is currently required from: Hoernchen, laforge.

Hoernchen uploaded patch set #2 to this change.

View Change

The following approvals got outdated and were removed: Verified+1 by Jenkins Builder

The change is no longer submittable: Verified is unsatisfied now.

firmware: protect uart_tx_queue against ISR

cardem:
- dispatch_usb_command_cardem() appends to uart_tx_queue from the main loop
- tx_byte_tpdu() dequeues from the USART IRQ handler @ NVIC prio 0

card_handle_reset() has the same issue, drains queue and
frees uart_tx_msg from main loop while the ISR may own them.

All of this needs protection against the irq.

Needs a fixed llist_add_tail_irqsafe(), which called __enable_irq() instead of
restoring the saved PRIMASK for some unknown reason?!?!?!?

Change-Id: I7d9cdcc56263b27dfd4649dfb1da1d67761ee923
---
M firmware/libcommon/include/llist_irqsafe.h
M firmware/libcommon/source/card_emu.c
M firmware/libcommon/source/mode_cardemu.c
3 files changed, 21 insertions(+), 8 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/27/43127/2

To view, visit change 43127. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newpatchset
Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: I7d9cdcc56263b27dfd4649dfb1da1d67761ee923
Gerrit-Change-Number: 43127
Gerrit-PatchSet: 2
Gerrit-Owner: Hoernchen <ewild@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu>
Gerrit-Attention: Hoernchen <ewild@sysmocom.de>
Gerrit-Attention: laforge <laforge@osmocom.org>