En/na Felix Fietkau ha escrit:
On 2010-04-06 4:26 PM, Jonas Gorski wrote:
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.

Regards,
Jonas Gorski

Signed-off-by: Jonas Gorski <[email protected]>
AFAIK there are some devices where the AR8216 PHY driver does not work,
because MDIO access is broken. Maybe we could also fix the PHY driver on
those devices by adjusting the clock during those times, as some Atheros
drivers do. I don't have access to affected hw though...

BTW, doesn't the ar8216 driver already modifies the function table of the attached device?


        /* VID fixup only needed on ar8216 */
        if (pdev->addr == 0 && priv->chip == AR8216) {
                pdev->pkt_align = 2;
                pdev->netif_receive_skb = ar8216_netif_receive_skb;
                pdev->netif_rx = ar8216_netif_rx;
                priv->ndo_old = dev->netdev_ops;
memcpy(&priv->ndo, priv->ndo_old, sizeof(struct net_device_ops));
                priv->ndo.ndo_start_xmit = ar8216_mangle_tx;
                dev->netdev_ops = &priv->ndo;
        }


If so what's done in the ag71xx shouldn't be needed, and I have to find another reason why the network isn't working on my device (strangely enough ping doesn't work, but pinging the device fills the arp table on both sides).

Bye
--
Luca

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

Reply via email to