diff options
author | Vinod Koul <vinod.koul@intel.com> | 2016-10-02 23:47:33 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-10-02 23:47:33 -0400 |
commit | 11bfedff5594eef74617e6aa02986cf517526b98 (patch) | |
tree | 2aa1a3b8d4e71abda7103b41edffb3a92ca26784 /drivers/dma/ep93xx_dma.c | |
parent | 0a98f4b857e9aedf426d8b5b07699a8526e07530 (diff) | |
parent | 793ae66c7dcc7e6655029f6613221a111b15b58e (diff) |
Merge branch 'topic/err_reporting' into for-linus
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Conflicts:
drivers/dma/cppi41.c
Diffstat (limited to 'drivers/dma/ep93xx_dma.c')
-rw-r--r-- | drivers/dma/ep93xx_dma.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c index ca17e8751af2..d37e8dda8079 100644 --- a/drivers/dma/ep93xx_dma.c +++ b/drivers/dma/ep93xx_dma.c | |||
@@ -737,10 +737,10 @@ static void ep93xx_dma_tasklet(unsigned long data) | |||
737 | { | 737 | { |
738 | struct ep93xx_dma_chan *edmac = (struct ep93xx_dma_chan *)data; | 738 | struct ep93xx_dma_chan *edmac = (struct ep93xx_dma_chan *)data; |
739 | struct ep93xx_dma_desc *desc, *d; | 739 | struct ep93xx_dma_desc *desc, *d; |
740 | dma_async_tx_callback callback = NULL; | 740 | struct dmaengine_desc_callback cb; |
741 | void *callback_param = NULL; | ||
742 | LIST_HEAD(list); | 741 | LIST_HEAD(list); |
743 | 742 | ||
743 | memset(&cb, 0, sizeof(cb)); | ||
744 | spin_lock_irq(&edmac->lock); | 744 | spin_lock_irq(&edmac->lock); |
745 | /* | 745 | /* |
746 | * If dma_terminate_all() was called before we get to run, the active | 746 | * If dma_terminate_all() was called before we get to run, the active |
@@ -755,8 +755,7 @@ static void ep93xx_dma_tasklet(unsigned long data) | |||
755 | dma_cookie_complete(&desc->txd); | 755 | dma_cookie_complete(&desc->txd); |
756 | list_splice_init(&edmac->active, &list); | 756 | list_splice_init(&edmac->active, &list); |
757 | } | 757 | } |
758 | callback = desc->txd.callback; | 758 | dmaengine_desc_get_callback(&desc->txd, &cb); |
759 | callback_param = desc->txd.callback_param; | ||
760 | } | 759 | } |
761 | spin_unlock_irq(&edmac->lock); | 760 | spin_unlock_irq(&edmac->lock); |
762 | 761 | ||
@@ -769,8 +768,7 @@ static void ep93xx_dma_tasklet(unsigned long data) | |||
769 | ep93xx_dma_desc_put(edmac, desc); | 768 | ep93xx_dma_desc_put(edmac, desc); |
770 | } | 769 | } |
771 | 770 | ||
772 | if (callback) | 771 | dmaengine_desc_callback_invoke(&cb, NULL); |
773 | callback(callback_param); | ||
774 | } | 772 | } |
775 | 773 | ||
776 | static irqreturn_t ep93xx_dma_interrupt(int irq, void *dev_id) | 774 | static irqreturn_t ep93xx_dma_interrupt(int irq, void *dev_id) |