projects
/
librecmc
/
librecmc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
defb7c0
)
ramips: add ramips_cleanup_dma helper
author
Gabor Juhos
<juhosg@openwrt.org>
Mon, 26 Oct 2009 17:17:29 +0000
(17:17 +0000)
committer
Gabor Juhos
<juhosg@openwrt.org>
Mon, 26 Oct 2009 17:17:29 +0000
(17:17 +0000)
SVN-Revision: 18169
target/linux/ramips/files/drivers/net/ramips.c
patch
|
blob
|
history
diff --git
a/target/linux/ramips/files/drivers/net/ramips.c
b/target/linux/ramips/files/drivers/net/ramips.c
index 622cd6020072825bf4784bccf381f403105afe9a..a4118ab6d06816ac22750d7814ff6fa907ca9da7 100644
(file)
--- a/
target/linux/ramips/files/drivers/net/ramips.c
+++ b/
target/linux/ramips/files/drivers/net/ramips.c
@@
-50,6
+50,18
@@
ramips_fe_rr(unsigned reg)
return __raw_readl(ramips_fe_base + reg);
}
return __raw_readl(ramips_fe_base + reg);
}
+static void
+ramips_cleanup_dma(struct net_device *dev)
+{
+ struct raeth_priv *priv = netdev_priv(dev);
+
+ dma_free_coherent(NULL, NUM_RX_DESC * sizeof(struct ramips_rx_dma),
+ priv->rx, priv->phy_rx);
+
+ dma_free_coherent(NULL, NUM_TX_DESC * sizeof(struct ramips_tx_dma),
+ priv->tx, priv->phy_tx);
+}
+
static int
ramips_alloc_dma(struct net_device *dev)
{
static int
ramips_alloc_dma(struct net_device *dev)
{
@@
-297,10
+309,7
@@
ramips_eth_stop(struct net_device *dev)
netif_stop_queue(dev);
tasklet_kill(&priv->tx_housekeeping_tasklet);
tasklet_kill(&priv->rx_tasklet);
netif_stop_queue(dev);
tasklet_kill(&priv->tx_housekeeping_tasklet);
tasklet_kill(&priv->rx_tasklet);
- dma_free_coherent(NULL, NUM_TX_DESC * sizeof(struct ramips_tx_dma),
- priv->tx, priv->phy_tx);
- dma_free_coherent(NULL, NUM_RX_DESC * sizeof(struct ramips_rx_dma),
- priv->rx, priv->phy_rx);
+ ramips_cleanup_dma(dev);
printk(KERN_DEBUG "ramips_eth: stopped\n");
return 0;
}
printk(KERN_DEBUG "ramips_eth: stopped\n");
return 0;
}