ramips: fix for kernel 4.0 napi repoll need return budgets number
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 30 Oct 2015 22:32:49 +0000 (22:32 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 30 Oct 2015 22:32:49 +0000 (22:32 +0000)
Signed-off-by: Michael Lee <igvtee@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47306 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c

index 05b810a..0f3009c 100644 (file)
@@ -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);