aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dynamic_debug.c
diff options
context:
space:
mode:
authorPer Forlin <[email protected]>2011-08-29 11:33:34 +0000
committerVinod Koul <[email protected]>2011-09-05 11:37:58 +0000
commit7404368c22b4910ab839238e48d96be45180f6fc (patch)
tree3e641c685e8d97376c36b9b90c6717fbce405cf6 /lib/dynamic_debug.c
parentdmaengine/ste_dma40: remove duplicate call to d40_pool_lli_free(). (diff)
downloadkernel-7404368c22b4910ab839238e48d96be45180f6fc.tar.gz
kernel-7404368c22b4910ab839238e48d96be45180f6fc.zip
dmaengine/ste_dma40: fix Oops due to double free of client descriptor
The client list may exist in two lists at the same time. This makes free fail since the same desc is freed multiple times. Remove desc from client list when adding it to the pending queue. Move free of client owned descriptors from free_dma() to terminate_all(). Unable to handle kernel paging request at virtual address 00100104 pgd = dea8c000 [00100104] *pgd=1ea62831, *pte=00000000, *ppte=00000000 Internal error: Oops: 817 [#1] PREEMPT SMP Modules linked in: CPU: 0 Not tainted (3.1.0-rc3+ #58) PC is at d40_free_chan_resources+0x64/0x330 Signed-off-by: Per Forlin <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
Diffstat (limited to 'lib/dynamic_debug.c')
0 files changed, 0 insertions, 0 deletions