Callback invoked on all enabled and pending interrupt sources.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11529 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
isiora 2018-02-21 19:46:19 +00:00
parent 482d67200a
commit a1c7967a56
1 changed files with 3 additions and 4 deletions

View File

@ -114,12 +114,11 @@ OSAL_IRQ_HANDLER(dmaHandler) {
gis &= ~(0x1 << chan);
/**
* if channel interrupt is enabled and pending, and a callback exists,
* if a channel interrupt is enabled and pending, and a callback exists,
* execute it
*/
uint32_t cis = dmaGetChannelInt(channel) & dmaGetChannelIntMask(channel);
if (cis & (XDMAC_CIS_BIS|XDMAC_CIS_LIS|XDMAC_CIS_DIS))
if (channel->dma_func)
if (cis && channel->dma_func)
channel->dma_func(channel->dma_param, cis);
}
aicAckInt();