diff --git a/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.c b/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.c index 92b5367e3..97ca3cfb0 100644 --- a/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.c +++ b/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.c @@ -117,7 +117,7 @@ OSAL_IRQ_HANDLER(dmaHandler) { * if channel interrupt is enabled and pending, and a callback exists, * execute it */ - uint32_t cis = dmaGetChannelInt(channel) &~ dmaGetChannelIntMask(channel); + uint32_t cis = dmaGetChannelInt(channel) & dmaGetChannelIntMask(channel); if (cis & (XDMAC_CIS_BIS|XDMAC_CIS_LIS|XDMAC_CIS_DIS)) if (channel->dma_func) channel->dma_func(channel->dma_param, cis);