diff options
author | Hauke Mehrtens <hauke@openwrt.org> | 2014-12-18 16:25:22 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@openwrt.org> | 2014-12-18 16:25:22 +0000 |
commit | 1ea4b50804c663085d1031fd61a040f53acf33df (patch) | |
tree | 941dcd844ee7560bd8c231d0d983c41ebb5c295a /target/linux/generic/patches-3.14/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch | |
parent | 440591ac63a185a099276194840813a02efd6f2e (diff) | |
download | master-187ad058-1ea4b50804c663085d1031fd61a040f53acf33df.tar.gz master-187ad058-1ea4b50804c663085d1031fd61a040f53acf33df.tar.bz2 master-187ad058-1ea4b50804c663085d1031fd61a040f53acf33df.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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43749 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.14/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch')
-rw-r--r-- | target/linux/generic/patches-3.14/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.14/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch b/target/linux/generic/patches-3.14/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.14/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; + } |