ar71xx: ag71xx: call the phy driver's netif_receive_skb()

Ag71xx needs to call the phy's netif_receive_skb() to allow phy drivers
to mangle rx packets. This patch fixes it.

This fixes the header mangling of the AR8216 driver.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
Cc:backfire@openwrt.org

SVN-Revision: 20750
owl
Gabor Juhos 2010-04-09 08:38:46 +00:00
parent 722e75f066
commit 4a28844d80
2 changed files with 7 additions and 3 deletions

View File

@ -38,7 +38,7 @@
#define ETH_FCS_LEN 4
#define AG71XX_DRV_NAME "ag71xx"
#define AG71XX_DRV_VERSION "0.5.33"
#define AG71XX_DRV_VERSION "0.5.34"
#define AG71XX_NAPI_WEIGHT 64
#define AG71XX_OOM_REFILL (1 + HZ/10)

View File

@ -826,8 +826,12 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit)
} else {
skb->dev = dev;
skb->ip_summed = CHECKSUM_NONE;
skb->protocol = eth_type_trans(skb, dev);
netif_receive_skb(skb);
if (ag->phy_dev) {
ag->phy_dev->netif_receive_skb(skb);
} else {
skb->protocol = eth_type_trans(skb, dev);
netif_receive_skb(skb);
}
}
ring->buf[i].skb = NULL;