Skip to content

Commit

Permalink
dmaengine: pl330: Fix overflow when reporting residue in memcpy
Browse files Browse the repository at this point in the history
During memcpy operations the residue was always set to an u32 overflowed
value.

In pl330_tx_status() function number of currently transferred bytes was
subtracted from internal "bytes_requested" field. However this
"bytes_requested" was not initialized at start to length of memcpy
buffer so transferred bytes were subtracted from 0 causing overflow.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: <stable@vger.kernel.org>
Fixes: aee4d1f ("dmaengine: pl330: improve pl330_tx_status() function")
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
  • Loading branch information
Krzysztof Kozlowski authored and Vinod Koul committed Jul 7, 2015
1 parent d770e55 commit ae12829
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions drivers/dma/pl330.c
Original file line number Diff line number Diff line change
Expand Up @@ -2623,6 +2623,7 @@ pl330_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dst,
desc->rqcfg.brst_len = 1;

desc->rqcfg.brst_len = get_burst_len(desc, len);
desc->bytes_requested = len;

desc->txd.flags = flags;

Expand Down

0 comments on commit ae12829

Please sign in to comment.