if (!ag71xx_desc_empty(desc))
goto err_drop;
- ag71xx_add_ar8216_header(ag, skb);
+ if (ag71xx_has_ar8216(ag))
+ ag71xx_add_ar8216_header(ag, skb);
if (skb->len <= 0) {
DBG("%s: packet len is too small\n", ag->dev->name);
struct ag71xx_desc *desc = ring->buf[i].desc;
struct sk_buff *skb;
int pktlen;
- int err;
+ int err = 0;
if (ag71xx_desc_empty(desc))
break;
dev->stats.rx_packets++;
dev->stats.rx_bytes += pktlen;
- err = ag71xx_remove_ar8216_header(ag, skb);
+ if (ag71xx_has_ar8216(ag))
+ err = ag71xx_remove_ar8216_header(ag, skb);
+
if (err) {
dev->stats.rx_dropped++;
kfree_skb(skb);