mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
dmaengine: xilinx: vdma: Check if the segment list is empty in a descriptor
The segment list in a descriptor should be checked for empty, else it will try to access invalid address for the first call. This patch fixes this issue. Signed-off-by: Srikanth Thokala <sthokal@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
cd166280b7
commit
049c0d577d
@ -971,9 +971,11 @@ xilinx_vdma_dma_prep_interleaved(struct dma_chan *dchan,
|
||||
hw->buf_addr = xt->src_start;
|
||||
|
||||
/* Link the previous next descriptor to current */
|
||||
prev = list_last_entry(&desc->segments,
|
||||
struct xilinx_vdma_tx_segment, node);
|
||||
prev->hw.next_desc = segment->phys;
|
||||
if (!list_empty(&desc->segments)) {
|
||||
prev = list_last_entry(&desc->segments,
|
||||
struct xilinx_vdma_tx_segment, node);
|
||||
prev->hw.next_desc = segment->phys;
|
||||
}
|
||||
|
||||
/* Insert the segment into the descriptor segments list. */
|
||||
list_add_tail(&segment->node, &desc->segments);
|
||||
|
Loading…
Reference in New Issue
Block a user