-Index: linux-2.6.23.16/drivers/net/ar2313/ar2313.c
+Index: linux-2.6.23.17/drivers/net/ar2313/ar2313.c
===================================================================
---- linux-2.6.23.16.orig/drivers/net/ar2313/ar2313.c 2008-04-20 10:26:15.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/ar2313/ar2313.c 2008-04-20 10:26:16.000000000 +0200
-@@ -955,7 +955,7 @@
+--- linux-2.6.23.17.orig/drivers/net/ar2313/ar2313.c
++++ linux-2.6.23.17/drivers/net/ar2313/ar2313.c
+@@ -953,9 +953,9 @@ static int ar2313_rx_int(struct net_devi
+ ((status >> DMA_RX_LEN_SHIFT) & 0x3fff) - CRC_LEN);
+
dev->stats.rx_bytes += skb->len;
- skb->protocol = eth_type_trans(skb, dev);
+- skb->protocol = eth_type_trans(skb, dev);
++
/* pass the packet to upper layers */
- netif_rx(skb);
+ sp->rx(skb);
skb_new->dev = dev;
/* 16 bit align */
-@@ -1370,6 +1370,11 @@
+@@ -1370,6 +1370,8 @@ static int mdiobus_probe (struct net_dev
return PTR_ERR(phydev);
}
-+ if (phydev->netif_rx)
-+ sp->rx = phydev->netif_rx;
-+ else
-+ sp->rx = netif_rx;
++ sp->rx = phydev->netif_rx;
+
/* mask with MAC supported features */
phydev->supported &= (SUPPORTED_10baseT_Half
| SUPPORTED_10baseT_Full
-Index: linux-2.6.23.16/drivers/net/ar2313/ar2313.h
+Index: linux-2.6.23.17/drivers/net/ar2313/ar2313.h
===================================================================
---- linux-2.6.23.16.orig/drivers/net/ar2313/ar2313.h 2008-04-20 10:26:15.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/ar2313/ar2313.h 2008-04-20 10:26:16.000000000 +0200
-@@ -107,6 +107,8 @@
+--- linux-2.6.23.17.orig/drivers/net/ar2313/ar2313.h
++++ linux-2.6.23.17/drivers/net/ar2313/ar2313.h
+@@ -107,6 +107,8 @@ typedef struct {
*/
struct ar2313_private {
struct net_device *dev;