Skip to content

Conversation

@maribu
Copy link
Member

@maribu maribu commented Nov 17, 2025

Backport of #21855

Contribution description

The gnrc_tx_sync() function currently blocks infinitely after a packet with tx_sync is sent via gnrc_netapi_send() through a legacy netdev when the gnrc_netif_pktq module is being used. This happens, because the tc_sync snippet users get increased and the sync snippet can not be released properly.

Testing procedure

The test provided only uses nrfmin as legacy netdev. Therefore the test should only work on nrf5x devices. By adjusting the Makefile any other legacy netdev can be used.

The test starts a separate result_thread and uses ztimer_sec to schedule a timeout error message after one second. As soon as gnrc_tx_sync() releases, the timeout error message gets canceled and a success message is being sent to the result_thread.

Issues/PRs references

PR #15694; PR #21709

@maribu maribu requested a review from miri64 as a code owner November 17, 2025 13:19
@maribu maribu added Area: network Area: Networking Area: sys Area: System Area: tests Area: tests and testing framework 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 Nov 17, 2025
@maribu maribu requested a review from crasbe November 17, 2025 13:19
@riot-ci
Copy link

riot-ci commented Nov 17, 2025

Murdock results

✔️ PASSED

71c52d6 sys/net/gnrc/netif: fix tx_sync by holding after split

Success Failures Total Runtime
10561 0 10561 12m:32s

Artifacts

@crasbe crasbe added this pull request to the merge queue Nov 17, 2025
Merged via the queue into RIOT-OS:2025.10-branch with commit 434f423 Nov 17, 2025
32 checks passed
@maribu maribu deleted the backport/2025.10/pr/legacy-tx_sync branch November 17, 2025 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: network Area: Networking Area: sys Area: System Area: tests Area: tests and testing framework 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.

4 participants