aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/xen-netfront.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/xen-netfront.c')
-rw-r--r--drivers/net/xen-netfront.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 36808bf25677..dd1011e55cb5 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -952,7 +952,7 @@ static int handle_incoming_queue(struct net_device *dev,
952 u64_stats_update_end(&stats->syncp); 952 u64_stats_update_end(&stats->syncp);
953 953
954 /* Pass it up. */ 954 /* Pass it up. */
955 netif_receive_skb(skb); 955 napi_gro_receive(&np->napi, skb);
956 } 956 }
957 957
958 return packets_dropped; 958 return packets_dropped;
@@ -1051,6 +1051,8 @@ err:
1051 if (work_done < budget) { 1051 if (work_done < budget) {
1052 int more_to_do = 0; 1052 int more_to_do = 0;
1053 1053
1054 napi_gro_flush(napi, false);
1055
1054 local_irq_save(flags); 1056 local_irq_save(flags);
1055 1057
1056 RING_FINAL_CHECK_FOR_RESPONSES(&np->rx, more_to_do); 1058 RING_FINAL_CHECK_FOR_RESPONSES(&np->rx, more_to_do);