diff options
author | Jarkko Nikula <jarkko.nikula@nokia.com> | 2008-03-17 11:01:10 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2008-05-09 13:25:03 -0400 |
commit | 0692f05dffaac5fc7b152f9b83625d3077639eba (patch) | |
tree | ca1e79c2ad79a5be3dfe2dbf660251b9219e85c6 /arch/arm/plat-omap | |
parent | 7cf95774190e423370945e116b07410c860407db (diff) |
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>
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/dma.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 793740686be2..c00eda588cd8 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -604,6 +604,7 @@ int omap_request_dma(int dev_id, const char *dev_name, | |||
604 | chan->data = data; | 604 | chan->data = data; |
605 | #ifndef CONFIG_ARCH_OMAP1 | 605 | #ifndef CONFIG_ARCH_OMAP1 |
606 | chan->chain_id = -1; | 606 | chan->chain_id = -1; |
607 | chan->next_linked_ch = -1; | ||
607 | #endif | 608 | #endif |
608 | chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ; | 609 | chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ; |
609 | 610 | ||
@@ -1087,7 +1088,6 @@ int omap_request_dma_chain(int dev_id, const char *dev_name, | |||
1087 | printk(KERN_ERR "omap_dma: Request failed %d\n", err); | 1088 | printk(KERN_ERR "omap_dma: Request failed %d\n", err); |
1088 | return err; | 1089 | return err; |
1089 | } | 1090 | } |
1090 | dma_chan[channels[i]].next_linked_ch = -1; | ||
1091 | dma_chan[channels[i]].prev_linked_ch = -1; | 1091 | dma_chan[channels[i]].prev_linked_ch = -1; |
1092 | dma_chan[channels[i]].state = DMA_CH_NOTSTARTED; | 1092 | dma_chan[channels[i]].state = DMA_CH_NOTSTARTED; |
1093 | 1093 | ||