From 786a0a6c71e98c1a3268ed2a13289459030c3032 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 16 Apr 2011 06:30:12 +0000 Subject: [PATCH] Fixed bug 3288112. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2878 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/include/spi.h | 2 ++ os/hal/platforms/STM32/spi_lld.c | 1 + readme.txt | 2 ++ 3 files changed, 5 insertions(+) diff --git a/os/hal/include/spi.h b/os/hal/include/spi.h index 0974fb740..104dd9d3e 100644 --- a/os/hal/include/spi.h +++ b/os/hal/include/spi.h @@ -264,6 +264,8 @@ typedef enum { if ((spip)->state == SPI_COMPLETE) \ (spip)->state = SPI_READY; \ } \ + else \ + (spip)->state = SPI_READY; \ _spi_wakeup_isr(spip); \ } diff --git a/os/hal/platforms/STM32/spi_lld.c b/os/hal/platforms/STM32/spi_lld.c index 72db75857..690b1825e 100644 --- a/os/hal/platforms/STM32/spi_lld.c +++ b/os/hal/platforms/STM32/spi_lld.c @@ -116,6 +116,7 @@ static void spi_lld_serve_tx_interrupt(SPIDriver *spip, uint32_t flags) { /* DMA errors handling.*/ #if defined(STM32_SPI_DMA_ERROR_HOOK) + (void)spip; if ((flags & DMA_ISR_TEIF1) != 0) { STM32_SPI_DMA_ERROR_HOOK(spip); } diff --git a/readme.txt b/readme.txt index 68ac730ce..700da01d1 100644 --- a/readme.txt +++ b/readme.txt @@ -71,6 +71,8 @@ ***************************************************************************** *** 2.3.2 *** +- FIX: Fixed missing state transition in SPI driver (bug 3288112)(backported + to 2.2.4). - FIX: Fixed spurious characters generated by Serial over USB driver (bug 3276379). - NEW: Now it is possible to share DMA channels in the STM32 HAL thanks