En/na Jonas Gorski ha escrit:
The inclusion of the ar8216 driver in ar71xx most probably broke
networking for those devices.

The ag71xx driver currently unconditionally adds/removes the header
on ar8216 devices independent whether the header is enabled or not.

The ar8216 driver can handle that itself, but needs support by the
ag71xx driver to call ar8216's netif_receive_skb.

This patch removed the ar8216 packet header workaround in the ag71xx
driver and instead calls ar8216's netif_receive_skb so that there is
only header handling if it enabled.

Is there a reason why this patch hasn't been applied?
I'm asking because I have a device with an ar8216 and networking isn't working, so I suspect an issue with the ar8216. I'd like to know if I have to to the same workaround as in the ar71xx (i.e., add/remove the ar8216 header) or simply do as in this patch:

-                       skb->protocol = eth_type_trans(skb, dev);
-                       netif_receive_skb(skb);
+                       if (ag71xx_has_ar8216(ag) && ag->phy_dev) {
+                               err = ag->phy_dev->netif_receive_skb(skb);
+                       } else {
+                               skb->protocol = eth_type_trans(skb, dev);
+                               err = netif_receive_skb(skb);
+                       }
+                       if (err)
+                               dev->stats.rx_dropped++;
                }
ring->buf[i].skb = NULL;

Bye
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to