From: Stephen Warren Date: Wed, 5 Jan 2011 21:24:12 +0000 (-0700) Subject: ARM: tegra: Prevent requeuing in-progress DMA requests X-Git-Tag: v2.6.39-rc1~474^2~36 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=499ef7a5c48ea9fe8034b61de304ce9f6b753fe7;p=pandora-kernel.git ARM: tegra: Prevent requeuing in-progress DMA requests If a request already in the queue is passed to tegra_dma_enqueue_req, tegra_dma_req.node->{next,prev} will end up pointing to itself instead of at tegra_dma_channel.list, which is the way a the end-of-list should be set up. When the DMA request completes and is list_del'd, the list head will still point at it, yet the node's next/prev will contain the list poison values. When the next DMA request completes, a kernel panic will occur when those poison values are dereferenced. This makes the DMA driver more robust in the face of buggy clients. Signed-off-by: Stephen Warren Signed-off-by: Colin Cross --- Reading git-diff-tree failed