X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=drivers%2Fnet%2Fxen-netfront.c;h=dd1011e55cb598096ef7c2ad64981a2572b760d7;hb=99d3d587b2b4314ccc8ea066cb327dfb523d598e;hp=36808bf256770a5e02e7674002ed389c7fd8ac19;hpb=ee002b64ec81db846b5518d73fd724a53b27fbf2;p=~andy%2Flinux diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index 36808bf2567..dd1011e55cb 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, u64_stats_update_end(&stats->syncp); /* Pass it up. */ - netif_receive_skb(skb); + napi_gro_receive(&np->napi, skb); } return packets_dropped; @@ -1051,6 +1051,8 @@ err: if (work_done < budget) { int more_to_do = 0; + napi_gro_flush(napi, false); + local_irq_save(flags); RING_FINAL_CHECK_FOR_RESPONSES(&np->rx, more_to_do);