|
@@ -45,13 +45,11 @@ static int irlan_eth_close(struct net_device *dev);
|
|
|
static netdev_tx_t irlan_eth_xmit(struct sk_buff *skb,
|
|
|
struct net_device *dev);
|
|
|
static void irlan_eth_set_multicast_list( struct net_device *dev);
|
|
|
-static struct net_device_stats *irlan_eth_get_stats(struct net_device *dev);
|
|
|
|
|
|
static const struct net_device_ops irlan_eth_netdev_ops = {
|
|
|
.ndo_open = irlan_eth_open,
|
|
|
.ndo_stop = irlan_eth_close,
|
|
|
.ndo_start_xmit = irlan_eth_xmit,
|
|
|
- .ndo_get_stats = irlan_eth_get_stats,
|
|
|
.ndo_set_multicast_list = irlan_eth_set_multicast_list,
|
|
|
.ndo_change_mtu = eth_change_mtu,
|
|
|
.ndo_validate_addr = eth_validate_addr,
|
|
@@ -208,10 +206,10 @@ static netdev_tx_t irlan_eth_xmit(struct sk_buff *skb,
|
|
|
* tried :-) DB
|
|
|
*/
|
|
|
/* irttp_data_request already free the packet */
|
|
|
- self->stats.tx_dropped++;
|
|
|
+ dev->stats.tx_dropped++;
|
|
|
} else {
|
|
|
- self->stats.tx_packets++;
|
|
|
- self->stats.tx_bytes += len;
|
|
|
+ dev->stats.tx_packets++;
|
|
|
+ dev->stats.tx_bytes += len;
|
|
|
}
|
|
|
|
|
|
return NETDEV_TX_OK;
|
|
@@ -226,15 +224,16 @@ static netdev_tx_t irlan_eth_xmit(struct sk_buff *skb,
|
|
|
int irlan_eth_receive(void *instance, void *sap, struct sk_buff *skb)
|
|
|
{
|
|
|
struct irlan_cb *self = instance;
|
|
|
+ struct net_device *dev = self->dev;
|
|
|
|
|
|
if (skb == NULL) {
|
|
|
- ++self->stats.rx_dropped;
|
|
|
+ dev->stats.rx_dropped++;
|
|
|
return 0;
|
|
|
}
|
|
|
if (skb->len < ETH_HLEN) {
|
|
|
IRDA_DEBUG(0, "%s() : IrLAN frame too short (%d)\n",
|
|
|
__func__, skb->len);
|
|
|
- ++self->stats.rx_dropped;
|
|
|
+ dev->stats.rx_dropped++;
|
|
|
dev_kfree_skb(skb);
|
|
|
return 0;
|
|
|
}
|
|
@@ -244,10 +243,10 @@ int irlan_eth_receive(void *instance, void *sap, struct sk_buff *skb)
|
|
|
* might have been previously set by the low level IrDA network
|
|
|
* device driver
|
|
|
*/
|
|
|
- skb->protocol = eth_type_trans(skb, self->dev); /* Remove eth header */
|
|
|
+ skb->protocol = eth_type_trans(skb, dev); /* Remove eth header */
|
|
|
|
|
|
- self->stats.rx_packets++;
|
|
|
- self->stats.rx_bytes += skb->len;
|
|
|
+ dev->stats.rx_packets++;
|
|
|
+ dev->stats.rx_bytes += skb->len;
|
|
|
|
|
|
netif_rx(skb); /* Eat it! */
|
|
|
|
|
@@ -348,16 +347,3 @@ static void irlan_eth_set_multicast_list(struct net_device *dev)
|
|
|
else
|
|
|
irlan_set_broadcast_filter(self, FALSE);
|
|
|
}
|
|
|
-
|
|
|
-/*
|
|
|
- * Function irlan_get_stats (dev)
|
|
|
- *
|
|
|
- * Get the current statistics for this device
|
|
|
- *
|
|
|
- */
|
|
|
-static struct net_device_stats *irlan_eth_get_stats(struct net_device *dev)
|
|
|
-{
|
|
|
- struct irlan_cb *self = netdev_priv(dev);
|
|
|
-
|
|
|
- return &self->stats;
|
|
|
-}
|