Fixed bug #1116.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.x@13777 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
5f0628194c
commit
0344bb0f5b
|
@ -71,9 +71,10 @@ typedef enum {
|
|||
WSPI_UNINIT = 0, /**< Not initialized. */
|
||||
WSPI_STOP = 1, /**< Stopped. */
|
||||
WSPI_READY = 2, /**< Ready. */
|
||||
WSPI_ACTIVE = 3, /**< Exchanging data. */
|
||||
WSPI_COMPLETE = 4, /**< Asynchronous operation complete. */
|
||||
WSPI_MEMMAP = 5 /**< In memory mapped mode. */
|
||||
WSPI_SEND = 3, /**< Sending data. */
|
||||
WSPI_RECEIVE = 4, /**< Receiving data. */
|
||||
WSPI_COMPLETE = 5, /**< Asynchronous operation complete. */
|
||||
WSPI_MEMMAP = 6 /**< In memory mapped mode. */
|
||||
} wspistate_t;
|
||||
|
||||
/**
|
||||
|
@ -274,7 +275,7 @@ struct hal_wspi_driver {
|
|||
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) == \
|
||||
WSPI_CFG_DATA_MODE_NONE, \
|
||||
"data mode specified"); \
|
||||
(wspip)->state = WSPI_ACTIVE; \
|
||||
(wspip)->state = WSPI_SEND; \
|
||||
wspi_lld_command(wspip, cmdp); \
|
||||
}
|
||||
|
||||
|
@ -294,7 +295,7 @@ struct hal_wspi_driver {
|
|||
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) != \
|
||||
WSPI_CFG_DATA_MODE_NONE, \
|
||||
"data mode required"); \
|
||||
(wspip)->state = WSPI_ACTIVE; \
|
||||
(wspip)->state = WSPI_SEND; \
|
||||
wspi_lld_send(wspip, cmdp, n, txbuf); \
|
||||
}
|
||||
|
||||
|
@ -314,7 +315,7 @@ struct hal_wspi_driver {
|
|||
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) != \
|
||||
WSPI_CFG_DATA_MODE_NONE, \
|
||||
"data mode required"); \
|
||||
(wspip)->state = WSPI_ACTIVE; \
|
||||
(wspip)->state = WSPI_RECEIVE; \
|
||||
wspi_lld_receive(wspip, cmdp, n, rxbuf); \
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,14 @@ static void wspi_lld_serve_interrupt(WSPIDriver *wspip) {
|
|||
operation. Race condition hidden here.*/
|
||||
while (dmaStreamGetTransactionSize(wspip->dma) > 0U)
|
||||
;
|
||||
dmaStreamDisable(wspip->dma);
|
||||
|
||||
/* Handling of errata: Extra data written in the FIFO at the end of a
|
||||
read transfer.*/
|
||||
if (wspip->state == WSPI_RECEIVE) {
|
||||
while ((wspip->qspi->SR & QUADSPI_SR_BUSY) != 0U) {
|
||||
(void) wspip->qspi->DR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -78,6 +78,7 @@
|
|||
- NEW: Added a new setting to STM32 USBv1 allowing for some clock deviation
|
||||
from 48MHz. Renamed setting USB_HOST_WAKEUP_DURATION to
|
||||
STM32_USB_HOST_WAKEUP_DURATION for consistency.
|
||||
- FIX: Fixed STM32 QSPI errata workaround (bug #1116).
|
||||
- FIX: Fixed wrong condition in STM32 BDMAv1 driver (bug #1115).
|
||||
- FIX: Fixed HSI48 not getting enabled on STM32H7 (bug #1114).
|
||||
- FIX: Fixed LPUART1 support for STM32H7xx (bug #1113).
|
||||
|
|
Loading…
Reference in New Issue