summaryrefslogtreecommitdiff
path: root/target/linux/leon/patches-2.6.36/019-greth_fix_open_close.patch
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2012-11-16 16:32:55 +0000
committerFlorian Fainelli <florian@openwrt.org>2012-11-16 16:32:55 +0000
commita4c205011b62f45e116eb26c974fa3bd771ce194 (patch)
tree123b05cb192785d0fc45c1f0acd0e6f8cba68144 /target/linux/leon/patches-2.6.36/019-greth_fix_open_close.patch
parent974b9f5c9a7322424d5127dbe45236a0658c69ba (diff)
downloadmtk-20170518-a4c205011b62f45e116eb26c974fa3bd771ce194.zip
mtk-20170518-a4c205011b62f45e116eb26c974fa3bd771ce194.tar.gz
mtk-20170518-a4c205011b62f45e116eb26c974fa3bd771ce194.tar.bz2
move patches to patches-2.6.36
Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 34220
Diffstat (limited to 'target/linux/leon/patches-2.6.36/019-greth_fix_open_close.patch')
-rw-r--r--target/linux/leon/patches-2.6.36/019-greth_fix_open_close.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/leon/patches-2.6.36/019-greth_fix_open_close.patch b/target/linux/leon/patches-2.6.36/019-greth_fix_open_close.patch
new file mode 100644
index 0000000..fffb391
--- /dev/null
+++ b/target/linux/leon/patches-2.6.36/019-greth_fix_open_close.patch
@@ -0,0 +1,34 @@
+From 6216bc809c5bdd586b14d096fbaf6dc25574b928 Mon Sep 17 00:00:00 2001
+From: Daniel Hellstrom <daniel@gaisler.com>
+Date: Wed, 1 Dec 2010 09:59:14 +0100
+Subject: [PATCH] GRETH: fix opening/closing
+
+When NAPI is disabled there is no point in having IRQs enabled, TX/RX
+should be off before clearing the TX/RX descriptor rings.
+
+Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
+---
+ drivers/net/greth.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+--- a/drivers/net/greth.c
++++ b/drivers/net/greth.c
+@@ -365,6 +365,8 @@ static int greth_open(struct net_device
+ dev_dbg(&dev->dev, " starting queue\n");
+ netif_start_queue(dev);
+
++ GRETH_REGSAVE(greth->regs->status, 0xFF);
++
+ napi_enable(&greth->napi);
+
+ greth_enable_irqs(greth);
+@@ -380,7 +382,9 @@ static int greth_close(struct net_device
+
+ napi_disable(&greth->napi);
+
++ greth_disable_irqs(greth);
+ greth_disable_tx(greth);
++ greth_disable_rx(greth);
+
+ netif_stop_queue(dev);
+