|
|
@ -879,15 +879,18 @@ static int fe_poll_rx(struct napi_struct *napi, int budget,
|
|
|
|
skb_checksum_none_assert(skb);
|
|
|
|
skb_checksum_none_assert(skb);
|
|
|
|
skb->protocol = eth_type_trans(skb, netdev);
|
|
|
|
skb->protocol = eth_type_trans(skb, netdev);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_NET_MEDIATEK_OFFLOAD
|
|
|
|
if (mtk_offload_check_rx(priv, skb, trxd.rxd4) == 0) {
|
|
|
|
if (mtk_offload_check_rx(priv, skb, trxd.rxd4) == 0) {
|
|
|
|
|
|
|
|
#endif
|
|
|
|
stats->rx_packets++;
|
|
|
|
stats->rx_packets++;
|
|
|
|
stats->rx_bytes += pktlen;
|
|
|
|
stats->rx_bytes += pktlen;
|
|
|
|
|
|
|
|
|
|
|
|
napi_gro_receive(napi, skb);
|
|
|
|
napi_gro_receive(napi, skb);
|
|
|
|
|
|
|
|
#ifdef CONFIG_NET_MEDIATEK_OFFLOAD
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
dev_kfree_skb(skb);
|
|
|
|
dev_kfree_skb(skb);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
ring->rx_data[idx] = new_data;
|
|
|
|
ring->rx_data[idx] = new_data;
|
|
|
|
rxd->rxd1 = (unsigned int)dma_addr;
|
|
|
|
rxd->rxd1 = (unsigned int)dma_addr;
|
|
|
|
|
|
|
|
|
|
|
|