From: Dmitry Osipenko Date: Sat, 11 May 2013 16:30:53 +0000 (+0400) Subject: dma: tegra: avoid channel lock up after free X-Git-Tag: v3.11-rc1~75^2~24 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bdc1e272a471062e8f310137c896e2355b46d13;p=pandora-kernel.git dma: tegra: avoid channel lock up after free Lock scenario: Channel 1 was allocated and prepared as slave_sg, used and freed. Now preparation of cyclic dma on channel 1 will fail with err "DMA configuration conflict" because tdc->isr_handler still setted to handle_once_dma_done. This happens because tegra_dma_abort_all() won't be called on channel freeing if pending list is empty and channel not busy. We need to clear isr_handler on channel freeing to avoid locking. Signed-off-by: Dmitry Osipenko Acked-by: Stephen Warren Acked-by: Laxman Dewangan Signed-off-by: Vinod Koul --- Reading git-diff-tree failed