summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-10-30 22:32:49 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-10-30 22:32:49 +0000
commitb100027a8373c959f10b5fad4a71e06077a1bfd3 (patch)
tree902d63838842c9b1aff5bb584fcb0d3f93bc9b8d
parent9cd525a7faa3ffbfebc0610682004a1560de7919 (diff)
downloadmaster-31e0f0ae-b100027a8373c959f10b5fad4a71e06077a1bfd3.tar.gz
master-31e0f0ae-b100027a8373c959f10b5fad4a71e06077a1bfd3.tar.bz2
master-31e0f0ae-b100027a8373c959f10b5fad4a71e06077a1bfd3.zip
ramips: fix for kernel 4.0 napi repoll need return budgets number
Signed-off-by: Michael Lee <igvtee@gmail.com> SVN-Revision: 47306
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
index 05b810a78a..0f3009cc73 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
@@ -991,8 +991,11 @@ static int fe_poll(struct napi_struct *napi, int budget)
if (!tx_again && (rx_done < budget)) {
status = fe_reg_r32(FE_REG_FE_INT_STATUS);
- if (status & (tx_intr | rx_intr ))
+ if (status & (tx_intr | rx_intr)) {
+ /* let napi poll again */
+ rx_done = budget;
goto poll_again;
+ }
napi_complete(napi);
fe_int_enable(tx_intr | rx_intr);