是因为sound/soc/lpc3xxx/lpc3xxx-pcm.c文件的
lpc3xxx_pcm_hw_free函数的
lpc32xx_dma_ch_put(prtd->dmach);调用引起的,原因是
arch/arm/mach-lpc32xx/dma-lpc32xx.c文件的
lpc32xx_dma_ch_put函数使用了spin_lock_irq,修改为如下
85 static inline void __dma_regs_lock(void)
86 {
87 atomic_spin_lock_irq(&dma_lock);
88 }
89
90 static inline void __dma_regs_unlock(void)
91 {
92 atomic_spin_unlock_irq(&dma_lock);
93 }
全部问题都解决!
阅读(1029) | 评论(0) | 转发(0) |