]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/core/dev.c
net_dma: acquire/release dma channels on ifup/ifdown
[mv-sheeva.git] / net / core / dev.c
index 5f736f1ceeae0200ba77371d6373384e398233f1..b715a55cccc417e07c3165b544b7fc95d162f90f 100644 (file)
@@ -1087,6 +1087,11 @@ int dev_open(struct net_device *dev)
                 */
                dev->flags |= IFF_UP;
 
+               /*
+                *      Enable NET_DMA
+                */
+               dmaengine_get();
+
                /*
                 *      Initialize multicasting status
                 */
@@ -1164,6 +1169,11 @@ int dev_close(struct net_device *dev)
         */
        call_netdevice_notifiers(NETDEV_DOWN, dev);
 
+       /*
+        *      Shutdown NET_DMA
+        */
+       dmaengine_put();
+
        return 0;
 }
 
@@ -5151,9 +5161,6 @@ static int __init net_dev_init(void)
        hotcpu_notifier(dev_cpu_callback, 0);
        dst_init();
        dev_mcast_init();
-       #ifdef CONFIG_NET_DMA
-       dmaengine_get();
-       #endif
        rc = 0;
 out:
        return rc;