aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-10-17 15:52:08 +0200
committerFelix Fietkau <nbd@nbd.name>2017-10-17 16:03:11 +0200
commit3db529d5ccdd5d8cec96d1e0f64583a1c9449a82 (patch)
treed4677b441f81a97e11892544bba40839e640cc4a /target/linux
parent5fff2f44d5892ea34d66cfb5e638b035b7f6d1fd (diff)
downloadupstream-3db529d5ccdd5d8cec96d1e0f64583a1c9449a82.tar.gz
upstream-3db529d5ccdd5d8cec96d1e0f64583a1c9449a82.tar.bz2
upstream-3db529d5ccdd5d8cec96d1e0f64583a1c9449a82.zip
Revert "ar71xx: Add GRO support to ag71xx"
This reverts commit 13e5e473699b92f171205e0f5c57c9ebe7922492. This commit causes a severe regression in LAN->WAN routing performance for several devices. This appears to be caused by the extra requirement to validate the SKB checksum early in the rx path, which the ethernet hardware does not do Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
index ae1bdf6066..566e9513d8 100644
--- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
@@ -1089,7 +1089,7 @@ next:
while ((skb = __skb_dequeue(&queue)) != NULL) {
skb->protocol = eth_type_trans(skb, dev);
- napi_gro_receive(&ag->napi, skb);
+ netif_receive_skb(skb);
}
DBG("%s: rx finish, curr=%u, dirty=%u, done=%d\n",
@@ -1141,7 +1141,7 @@ static int ag71xx_poll(struct napi_struct *napi, int limit)
DBG("%s: disable polling mode, rx=%d, tx=%d,limit=%d\n",
dev->name, rx_done, tx_done, limit);
- napi_complete_done(napi, rx_done);
+ napi_complete(napi);
/* enable interrupts */
spin_lock_irqsave(&ag->lock, flags);
@@ -1160,7 +1160,7 @@ oom:
pr_info("%s: out of memory\n", dev->name);
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
- napi_complete_done(napi, rx_done);
+ napi_complete(napi);
return 0;
}