linux/drivers/dma
Per Forlin 7404368c22 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 <per.forlin@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2011-09-05 17:07:58 +05:30
..
ioat ioat: fix xor_idx_to_desc 2011-08-03 22:25:06 -07:00
ipu Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2011-08-01 13:46:37 -10:00
ppc4xx Merge branch 'old_next' into next 2011-04-06 11:51:12 +05:30
amba-pl08x.c dmaengine: PL08x: Fix trivial build error 2011-08-09 08:42:28 +01:00
at_hdmac_regs.h dmaengine: at_hdmac: implement pause and resume in atc_control 2011-05-09 11:42:54 +05:30
at_hdmac.c dma: at_hdmac.c: use resource_size 2011-06-06 13:43:59 +05:30
coh901318_lli.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
coh901318_lli.h tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
coh901318.c Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2011-08-01 13:46:37 -10:00
dmaengine.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-08-04 16:43:43 -10:00
dmatest.c net: remove mm.h inclusion from netdevice.h 2011-06-21 19:17:20 -07:00
dw_dmac_regs.h dmaengine/dw_dmac: Update maintainer-ship 2011-05-25 18:30:37 +05:30
dw_dmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00
ep93xx_dma.c dma/ep93xx_dma.c: local symbols should be static 2011-06-16 09:47:49 +05:30
fsldma.c dt/fsldma: fix build warning caused by of_platform_device changes 2011-04-10 23:34:38 -07:00
fsldma.h fsldma: fix controller lockups 2011-03-11 17:52:36 -08:00
imx-dma.c ARM i.MX dma: Fix burstsize settings 2011-07-07 09:55:50 +02:00
imx-sdma.c Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2011-08-01 13:46:37 -10:00
intel_mid_dma_regs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
intel_mid_dma.c dma: intel_mid_dma: remove redundant pci_set_drvdata calls 2011-07-26 15:33:27 +05:30
iop-adma.c dma: use BUG_ON correctly in iop-adma.c, v4 2011-03-31 11:07:40 +05:30
iovlock.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig dmaengine: add ep93xx DMA support 2011-06-08 15:10:44 -06:00
Makefile dmaengine: add ep93xx DMA support 2011-06-08 15:10:44 -06:00
mpc512x_dma.c Fix common misspellings 2011-03-31 11:26:23 -03:00
mv_xor.c dma: mv_xor: use resource_size() 2011-07-14 03:32:31 +05:30
mv_xor.h mv_xor: implement a private tx_list 2009-09-08 17:53:03 -07:00
mxs-dma.c ARM: mxs-dma: reset after disable channel 2011-07-26 15:33:28 +05:30
pch_dma.c pch_dma: Fix CTL register access issue 2011-07-25 19:11:12 +05:30
pl330.c dmaengine: pl330: make platform data optional 2011-07-26 15:32:52 +05:30
shdma.c Merge branch 'common/dma' into sh-latest 2011-06-21 17:59:05 +09:00
shdma.h dmaengine: shdma: add chcr_ie_bit 2011-06-21 17:56:01 +09:00
ste_dma40_ll.c dma40: cyclic xfer support 2011-01-30 22:27:21 -08:00
ste_dma40_ll.h dmaengine/ste_dma40: use AMBA PrimeCell helper macros 2011-07-14 04:09:10 +05:30
ste_dma40.c dmaengine/ste_dma40: fix Oops due to double free of client descriptor 2011-09-05 17:07:58 +05:30
timb_dma.c mfd: Use mfd cell platform_data for timberdale cells platform bits 2011-05-26 19:45:05 +02:00
TODO dmaengine: remove ste_dma40 from issue_pending TODO 2011-07-14 04:02:08 +05:30
txx9dmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-05-21 17:05:46 -07:00
txx9dmac.h txx9dmac: implement a private tx_list 2009-09-08 17:53:03 -07:00