]> git.baikalelectronics.ru Git - kernel.git/commit
dmaenegine: mmp-pdma: fix irq handler overwrite physical chan issue
authorQiao Zhou <zhouqiao@marvell.com>
Wed, 4 Feb 2015 06:16:03 +0000 (14:16 +0800)
committerVinod Koul <vinod.koul@intel.com>
Mon, 23 Feb 2015 16:39:56 +0000 (22:09 +0530)
commitc7fa3fa235f0b5bd0c4d5f8a61b22004205cbe37
tree8dcf4d43da8ad0c9a3fc4176896525eadef7ec31
parent9cbe621030a9cce16d27329dac74fd4b1c1d9412
dmaenegine: mmp-pdma: fix irq handler overwrite physical chan issue

Some dma channels may be reserved for other purpose in other layer,
like secure driver in EL2/EL3. PDMA driver can see the interrupt
status, but it should not try to handle related interrupt, since it
doesn't belong to PDMA driver in kernel. These interrupts should be
handled by corresponding client/module.Otherwise, it will overwrite
illegal memory and cause unexpected issues, since pdma driver only
requests resources for pdma channels.

In PDMA driver, the reserved channels are at the end of total 32
channels. If we find interrupt bit index is not smaller than total
dma channels, we should ignore it.

Signed-off-by: Qiao Zhou <zhouqiao@marvell.com>
Acked-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/mmp_pdma.c