Skip to content

Commit 534978d

Browse files
authored
fixing beginTransaction() thread safety
1 parent 371f382 commit 534978d

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

libraries/SPI/src/SPI.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ void SPIClass::setBitOrder(uint8_t bitOrder)
133133

134134
void SPIClass::beginTransaction(SPISettings settings)
135135
{
136+
spiLock(_spi);
136137
//check if last freq changed
137138
uint32_t cdiv = spiGetClockDiv(_spi);
138139
if(_freq != settings._clock || _div != cdiv) {
@@ -148,6 +149,7 @@ void SPIClass::endTransaction()
148149
if(_inTransaction){
149150
_inTransaction = false;
150151
spiEndTransaction(_spi);
152+
spiUnlock(_spi);
151153
}
152154
}
153155

0 commit comments

Comments
 (0)