diff options
-rw-r--r-- | drivers/dma/pch_dma.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index 6eebc6205c65..d28c47a42f14 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c | |||
@@ -478,7 +478,6 @@ static int pd_alloc_chan_resources(struct dma_chan *chan) | |||
478 | spin_unlock_bh(&pd_chan->lock); | 478 | spin_unlock_bh(&pd_chan->lock); |
479 | 479 | ||
480 | pdc_enable_irq(chan, 1); | 480 | pdc_enable_irq(chan, 1); |
481 | pdc_set_dir(chan); | ||
482 | 481 | ||
483 | return pd_chan->descs_allocated; | 482 | return pd_chan->descs_allocated; |
484 | } | 483 | } |
@@ -561,6 +560,9 @@ static struct dma_async_tx_descriptor *pd_prep_slave_sg(struct dma_chan *chan, | |||
561 | else | 560 | else |
562 | return NULL; | 561 | return NULL; |
563 | 562 | ||
563 | pd_chan->dir = direction; | ||
564 | pdc_set_dir(chan); | ||
565 | |||
564 | for_each_sg(sgl, sg, sg_len, i) { | 566 | for_each_sg(sgl, sg, sg_len, i) { |
565 | desc = pdc_desc_get(pd_chan); | 567 | desc = pdc_desc_get(pd_chan); |
566 | 568 | ||
@@ -850,8 +852,6 @@ static int __devinit pch_dma_probe(struct pci_dev *pdev, | |||
850 | 852 | ||
851 | pd_chan->membase = ®s->desc[i]; | 853 | pd_chan->membase = ®s->desc[i]; |
852 | 854 | ||
853 | pd_chan->dir = (i % 2) ? DMA_FROM_DEVICE : DMA_TO_DEVICE; | ||
854 | |||
855 | spin_lock_init(&pd_chan->lock); | 855 | spin_lock_init(&pd_chan->lock); |
856 | 856 | ||
857 | INIT_LIST_HEAD(&pd_chan->active_list); | 857 | INIT_LIST_HEAD(&pd_chan->active_list); |