Jonathan BennettandClaude Opus 5.5 790944a75e tftSetup: don't claim the SPI bus after a timed-out take (#12025)
ReentrantSpiLock::lock(uint32_t) recorded the calling thread as owner
with depth 1 whether or not spiLock->lock(timeout) succeeded. After a
timeout the thread's next lock() then took the reentrant path and skipped
the real acquire, and the matching unlock() released a semaphore the
thread never held, so device-ui and the radio could both reach the bus.

Record ownership only when the take succeeds, and return false without
touching owner or depth when it times out.

Found while reviewing CodeRabbit's note on #12024.



Claude-Session: https://claude.ai/code/session_01REkPVFh6kvG4AZJ5A8AtM9

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:53:42 +00:00
2021-10-09 17:15:12 +11:00
2026-09-01 18:00:06 -04:00
2024-09-24 15:24:08 -05:00
2026-09-21 06:41:35 -05:00
2026-07-01 19:01:27 -05:00
2026-01-29 10:06:58 -06:00
2024-11-28 06:26:51 -06:00
2024-09-04 15:33:28 -07:00
2026-07-28 11:09:40 +00:00
2026-01-29 10:06:58 -06:00
2026-01-29 10:06:58 -06:00
2026-09-28 12:29:53 +02:00
2026-07-01 19:01:27 -05:00
2025-01-13 12:24:05 +08:00
2026-01-29 10:06:58 -06:00

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

meshtastic%2Ffirmware | Trendshift

Overview

This repository contains the official device firmware for Meshtastic, an open-source LoRa mesh networking project designed for long-range, low-power communication without relying on internet or cellular infrastructure. The firmware supports various hardware platforms, including ESP32, nRF52, RP2040/RP2350, and Linux-based devices.

Meshtastic enables text messaging, location sharing, and telemetry over a decentralized mesh network, making it ideal for outdoor adventures, emergency preparedness, and remote operations.

Get Started

Join our community and help improve Meshtastic! 🚀

Stats

Alt

S
Description
No description provided
Readme GPL-3.0
249 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 73.1%
C 22.1%
Python 2.7%
Shell 1.5%
Batchfile 0.2%
Other 0.2%