android_kernel_google_msm/drivers/dma
Lior Amsalem fbd2f7f70b dmaengine: mv_xor: bug fix for racing condition in descriptors cleanup
commit 9136291f1dbc1d4d1cacd2840fb35f4f3ce16c46 upstream.

This patch fixes a bug in the XOR driver where the cleanup function can be
called and free descriptors that never been processed by the engine (which
result in data errors).

The cleanup function will free descriptors based on the ownership bit in
the descriptors.

Fixes: ff7b04796d ("dmaengine: DMA engine driver for Marvell XOR engine")
Signed-off-by: Lior Amsalem <alior@marvell.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Ofer Heifetz <oferh@marvell.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-10-22 09:20:04 +08:00
..
ioat ioat: Fix DMA memory sync direction correct flag 2013-01-27 20:47:44 -08:00
ipu dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic 2012-03-21 19:20:23 +05:30
ppc4xx dmaengine: ensure all DMA engine drivers initialize their cookies 2012-03-13 11:37:42 +05:30
amba-pl08x.c dmaengine/amba-pl08x : reset phychan_hold on terminate all 2012-04-25 15:10:57 +05:30
at_hdmac.c dmaengine: at_hdmac: check that each sg data length is non-null 2012-10-02 10:30:10 -07:00
at_hdmac_regs.h dmaengine: at_hdmac: add slave config operation 2012-03-21 21:12:29 +05:30
coh901318.c Merge branch 'akpm' (Andrew's patch-bomb) 2012-04-05 15:30:34 -07:00
coh901318_lli.c
coh901318_lli.h
dmaengine.c drivers/dma/dmaengine.c: lower the priority of 'failed to get' dma channel message 2012-10-13 05:38:38 +09:00
dmaengine.h dmaengine: consolidate initialization of cookies 2012-03-13 11:37:22 +05:30
dmatest.c dmaengine: fix missing 'cnt' in ?: in dmatest 2012-01-23 11:43:18 -08:00
dw_dmac.c dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic 2012-03-21 19:20:23 +05:30
dw_dmac_regs.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
ep93xx_dma.c dmaengine: fix cyclic dma usage 2012-05-15 08:43:40 +05:30
fsldma.c dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic 2012-03-21 19:20:23 +05:30
fsldma.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
imx-dma.c dmaengine: imx-dma: fix slow path issue in prep_dma_cyclic 2013-10-13 15:42:49 -07:00
imx-sdma.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-03-29 15:34:57 -07:00
intel_mid_dma.c dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic 2012-03-21 19:20:23 +05:30
intel_mid_dma_regs.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
iop-adma.c dmaengine-fixes for 3.4-rc3 2012-04-10 15:30:16 -07:00
iovlock.c
Kconfig net_dma: mark broken 2014-01-08 09:42:11 -08:00
Makefile DMA: sa11x0: add SA-11x0 DMA driver 2012-03-07 11:32:21 +00:00
mpc512x_dma.c dmaengine: consolidate initialization of cookies 2012-03-13 11:37:22 +05:30
mv_xor.c dmaengine: mv_xor: bug fix for racing condition in descriptors cleanup 2015-10-22 09:20:04 +08:00
mv_xor.h dmaengine: mv_xor: bug fix for racing condition in descriptors cleanup 2015-10-22 09:20:04 +08:00
mxs-dma.c dma: mxs-dma: enable channel in device_issue_pending call 2012-04-20 15:35:58 +05:30
pch_dma.c pch_dma: Use GFP_ATOMIC because called from interrupt context 2013-05-19 10:54:48 -07:00
pl330.c drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() 2013-07-21 18:19:02 -07:00
sa11x0-dma.c ARM: sa11x0: fix build errors from DMA engine API updates 2012-03-30 11:46:20 +01:00
shdma.c dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic 2012-03-21 19:20:23 +05:30
shdma.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
sirf-dma.c dmaengine: sirf: fix a typo in moving running dma_desc to active queue 2012-10-31 10:03:02 -07:00
ste_dma40.c dma: ste_dma40: don't dereference free:d descriptor 2014-03-11 16:10:02 -07:00
ste_dma40_ll.c
ste_dma40_ll.h dma40: Improve the logic of stopping logical chan 2012-04-23 17:56:17 +05:30
timb_dma.c dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic 2012-03-21 19:20:23 +05:30
TODO
txx9dmac.c dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic 2012-03-21 19:20:23 +05:30
txx9dmac.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30