Skip to content

Commit 7b3392a

Browse files
committed
fix DMA channel leaking
1 parent c01b1eb commit 7b3392a

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

libraries/I2S/src/I2S.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ int I2SClass::begin(int mode, long sampleRate, int bitsPerSample)
112112

113113
void I2SClass::end()
114114
{
115-
if (_dmaChannel > 0) {
115+
if (_dmaChannel > -1) {
116116
DMA.freeChannel(_dmaChannel);
117117
}
118118

libraries/I2S/src/utility/DMA.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ void DMAClass::freeChannel(int channel)
114114
DMAC->CHID.bit.ID = channel;
115115
DMAC->CHCTRLA.bit.ENABLE = 0;
116116

117-
_channelMask &= (1 << channel);
117+
_channelMask &= ~(1 << channel);
118118
}
119119

120120
void DMAClass::setPriorityLevel(int channel, int level)

0 commit comments

Comments
 (0)