From: Felix Fietkau <nbd@openwrt.org>
Date: Fri, 30 Oct 2015 22:32:49 +0000 (+0000)
Subject: ramips: fix for kernel 4.0 napi repoll need return budgets number
X-Git-Tag: reboot~1712
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b100027a8373c959f10b5fad4a71e06077a1bfd3;p=openwrt%2Fstaging%2Fjogo.git

ramips: fix for kernel 4.0 napi repoll need return budgets number

Signed-off-by: Michael Lee <igvtee@gmail.com>

SVN-Revision: 47306
---

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);