x86/smpboot: Init apic mapping before usage
[cascardo/linux.git] / drivers / dma / at_hdmac.c
index 53d22eb..a4c8f80 100644 (file)
@@ -473,15 +473,11 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc)
        /* for cyclic transfers,
         * no need to replay callback function while stopping */
        if (!atc_chan_is_cyclic(atchan)) {
-               dma_async_tx_callback   callback = txd->callback;
-               void                    *param = txd->callback_param;
-
                /*
                 * The API requires that no submissions are done from a
                 * callback, so we don't need to drop the lock here
                 */
-               if (callback)
-                       callback(param);
+               dmaengine_desc_get_callback_invoke(txd, NULL);
        }
 
        dma_run_dependencies(txd);
@@ -598,15 +594,12 @@ static void atc_handle_cyclic(struct at_dma_chan *atchan)
 {
        struct at_desc                  *first = atc_first_active(atchan);
        struct dma_async_tx_descriptor  *txd = &first->txd;
-       dma_async_tx_callback           callback = txd->callback;
-       void                            *param = txd->callback_param;
 
        dev_vdbg(chan2dev(&atchan->chan_common),
                        "new cyclic period llp 0x%08x\n",
                        channel_readl(atchan, DSCR));
 
-       if (callback)
-               callback(param);
+       dmaengine_desc_get_callback_invoke(txd, NULL);
 }
 
 /*--  IRQ & Tasklet  ---------------------------------------------------*/