Stephen Warren 499ef7a5c4 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 <swarren@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
2011-02-19 14:35:52 -08:00
..
2011-01-21 11:55:31 +01:00
2011-01-21 11:55:25 +01:00
2011-01-21 11:55:32 +01:00
2011-01-21 11:55:24 +01:00
2011-01-21 11:55:32 +01:00
2011-02-05 21:46:35 +01:00
2011-01-23 11:24:42 +01:00
2011-01-21 11:55:31 +01:00
2011-01-21 11:55:33 +01:00
2011-01-21 11:55:34 +01:00
2011-01-21 11:55:34 +01:00
2011-01-21 11:55:34 +01:00
2011-01-21 11:55:35 +01:00