diff options
author | Reece R. Pollack | 2015-02-09 16:21:08 -0600 |
---|---|---|
committer | Reece R. Pollack | 2015-02-16 16:30:34 -0600 |
commit | 760a81522f9b37745a9fde6afd21a727c8f3cbbd (patch) | |
tree | 041a733740f8bca4fdfa7bcc7fd557079da806de | |
parent | ef81aae96229138c4babefd7b0a0743d25b83ab5 (diff) | |
download | linux-760a81522f9b37745a9fde6afd21a727c8f3cbbd.tar.gz linux-760a81522f9b37745a9fde6afd21a727c8f3cbbd.tar.xz linux-760a81522f9b37745a9fde6afd21a727c8f3cbbd.zip |
net: keystone: Remove erroneous dmaengine_pause calls in PA shutdown
This patch removes erroneous calls to dmaengine_pause() in the NetCP
PA shutdown sequence. This function should be called to stop DMA
completion notifications that would trigger later dma_poll() calls
from a softIRQ or tasklet. If the interrupt is to be serviced from
the notifier routine, then we should not be pausing the channel
even if we're shutting it down.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
-rw-r--r-- | drivers/net/ethernet/ti/keystone_pa.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/ti/keystone_pa2.c | 1 |
2 files changed, 0 insertions, 3 deletions
diff --git a/drivers/net/ethernet/ti/keystone_pa.c b/drivers/net/ethernet/ti/keystone_pa.c index e208250574b..5b4875f3e78 100644 --- a/drivers/net/ethernet/ti/keystone_pa.c +++ b/drivers/net/ethernet/ti/keystone_pa.c | |||
@@ -2070,12 +2070,10 @@ static int pa_close(void *intf_priv, struct net_device *ndev) | |||
2070 | } | 2070 | } |
2071 | 2071 | ||
2072 | if (pa_dev->pdsp1_tx_channel) { | 2072 | if (pa_dev->pdsp1_tx_channel) { |
2073 | dmaengine_pause(pa_dev->pdsp1_tx_channel); | ||
2074 | dma_release_channel(pa_dev->pdsp1_tx_channel); | 2073 | dma_release_channel(pa_dev->pdsp1_tx_channel); |
2075 | pa_dev->pdsp1_tx_channel = NULL; | 2074 | pa_dev->pdsp1_tx_channel = NULL; |
2076 | } | 2075 | } |
2077 | if (pa_dev->pdsp0_tx_channel) { | 2076 | if (pa_dev->pdsp0_tx_channel) { |
2078 | dmaengine_pause(pa_dev->pdsp0_tx_channel); | ||
2079 | dma_release_channel(pa_dev->pdsp0_tx_channel); | 2077 | dma_release_channel(pa_dev->pdsp0_tx_channel); |
2080 | pa_dev->pdsp0_tx_channel = NULL; | 2078 | pa_dev->pdsp0_tx_channel = NULL; |
2081 | } | 2079 | } |
diff --git a/drivers/net/ethernet/ti/keystone_pa2.c b/drivers/net/ethernet/ti/keystone_pa2.c index aa9ac5ec2c0..caca6ff3006 100644 --- a/drivers/net/ethernet/ti/keystone_pa2.c +++ b/drivers/net/ethernet/ti/keystone_pa2.c | |||
@@ -2394,7 +2394,6 @@ static int pa2_close(void *intf_priv, struct net_device *ndev) | |||
2394 | */ | 2394 | */ |
2395 | 2395 | ||
2396 | if (pa_dev->pdsp0_tx_channel) { | 2396 | if (pa_dev->pdsp0_tx_channel) { |
2397 | dmaengine_pause(pa_dev->pdsp0_tx_channel); | ||
2398 | dma_release_channel(pa_dev->pdsp0_tx_channel); | 2397 | dma_release_channel(pa_dev->pdsp0_tx_channel); |
2399 | pa_dev->pdsp0_tx_channel = NULL; | 2398 | pa_dev->pdsp0_tx_channel = NULL; |
2400 | } | 2399 | } |