mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 23:25:54 +00:00
ARM: OMAP: DMA: Fix incorrect channel linking
Function enable_lnk does incorrect channel link on non-omap1 builds if chain is created manually with omap_request_dma and omap_dma_link_lch functions. Fix this by making sure that next_linked_ch field is initialized to -1 just in omap_request_dma. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
7cf9577419
commit
0692f05dff
@ -604,6 +604,7 @@ int omap_request_dma(int dev_id, const char *dev_name,
|
|||||||
chan->data = data;
|
chan->data = data;
|
||||||
#ifndef CONFIG_ARCH_OMAP1
|
#ifndef CONFIG_ARCH_OMAP1
|
||||||
chan->chain_id = -1;
|
chan->chain_id = -1;
|
||||||
|
chan->next_linked_ch = -1;
|
||||||
#endif
|
#endif
|
||||||
chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ;
|
chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ;
|
||||||
|
|
||||||
@ -1087,7 +1088,6 @@ int omap_request_dma_chain(int dev_id, const char *dev_name,
|
|||||||
printk(KERN_ERR "omap_dma: Request failed %d\n", err);
|
printk(KERN_ERR "omap_dma: Request failed %d\n", err);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
dma_chan[channels[i]].next_linked_ch = -1;
|
|
||||||
dma_chan[channels[i]].prev_linked_ch = -1;
|
dma_chan[channels[i]].prev_linked_ch = -1;
|
||||||
dma_chan[channels[i]].state = DMA_CH_NOTSTARTED;
|
dma_chan[channels[i]].state = DMA_CH_NOTSTARTED;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user