Commit f48d096
furi_hal_spi: fix same DMA timeout race in TRX/RX path
The TRX/RX branch (else of furi_hal_spi_bus_trx_dma) had the same
race as the TX-only path fixed in b51e744: on timeout the cleanup
released spi_dma_completed before disabling LL_DMA_DisableIT_TC,
so a late or pending DMA completion ISR would call furi_semaphore_release()
on an already-full binary semaphore and crash furi_check.
Pre-existing bug, not introduced by this PR — fixed for symmetry with
the TX-only path now that the pattern is documented.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent b51e744 commit f48d096
1 file changed
Lines changed: 11 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
393 | 393 | | |
394 | 394 | | |
395 | 395 | | |
396 | | - | |
397 | | - | |
398 | 396 | | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
399 | 400 | | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
400 | 409 | | |
401 | 410 | | |
402 | 411 | | |
| |||
0 commit comments