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 6e9f6177085..068366a7c69 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 @@ -764,7 +764,10 @@ static int fe_poll_rx(struct napi_struct *napi, int budget, stats->rx_packets++; stats->rx_bytes += pktlen; - napi_gro_receive(napi, skb); + if (skb->ip_summed == CHECKSUM_NONE) + netif_receive_skb(skb); + else + napi_gro_receive(napi, skb); priv->rx_data[idx] = new_data; rxd->rxd1 = (unsigned int) dma_addr;