summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2014-12-18 16:25:22 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2014-12-18 16:25:22 +0000
commitabca0462d3344082aec3083b7ce612286abc4d0d (patch)
tree30324bd8b41ff7c4eefdbd19e5f9cf8fc41ab962 /target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
parent192e945479a9c90eb7d6a3ff563084cb558ba31a (diff)
downloadmaster-31e0f0ae-abca0462d3344082aec3083b7ce612286abc4d0d.tar.gz
master-31e0f0ae-abca0462d3344082aec3083b7ce612286abc4d0d.tar.bz2
master-31e0f0ae-abca0462d3344082aec3083b7ce612286abc4d0d.zip
kernel: bgmac: fix some problems
There are some problems in the napi usage that are fixed now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 43749
Diffstat (limited to 'target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch')
-rw-r--r--target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch b/target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
new file mode 100644
index 0000000000..b494998be3
--- /dev/null
+++ b/target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
@@ -0,0 +1,29 @@
+From fbd3b188fbaa861165a074c454d8f8dcf15343a0 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Mon, 8 Dec 2014 08:47:10 +0100
+Subject: [PATCH 3/4] bgmac: activate irqs only if there is nothing to poll
+
+IRQs should only get activated when there is nothing to poll in the
+queue any more and to after every poll.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -1167,10 +1167,10 @@ static int bgmac_poll(struct napi_struct
+ bgmac->int_status = 0;
+ }
+
+- if (handled < weight)
++ if (handled < weight) {
+ napi_complete(napi);
+-
+- bgmac_chip_intrs_on(bgmac);
++ bgmac_chip_intrs_on(bgmac);
++ }
+
+ return handled;
+ }