Instead of using an own copy of struct net_device_stats in struct nic,
use stats from struct net_device. Also remove the thus unnecessary
.ndo_get_stats function, as it would now just return netdev->stats,
which is the default in dev_get_stats().

Signed-off-by: Tobias Klauser <tklau...@distanz.ch>
---
 drivers/staging/gdm72xx/gdm_wimax.c | 17 ++++-------------
 drivers/staging/gdm72xx/gdm_wimax.h |  1 -
 2 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/gdm72xx/gdm_wimax.c 
b/drivers/staging/gdm72xx/gdm_wimax.c
index 4148013..6f44798 100644
--- a/drivers/staging/gdm72xx/gdm_wimax.c
+++ b/drivers/staging/gdm72xx/gdm_wimax.c
@@ -359,8 +359,8 @@ int gdm_wimax_send_tx(struct sk_buff *skb, struct 
net_device *dev)
                return ret;
        }
 
-       nic->stats.tx_packets++;
-       nic->stats.tx_bytes += skb->len - HCI_HEADER_SIZE;
+       dev->stats.tx_packets++;
+       dev->stats.tx_bytes += skb->len - HCI_HEADER_SIZE;
        kfree_skb(skb);
        return ret;
 }
@@ -445,13 +445,6 @@ static int gdm_wimax_set_mac_addr(struct net_device *dev, 
void *p)
        return 0;
 }
 
-static struct net_device_stats *gdm_wimax_stats(struct net_device *dev)
-{
-       struct nic *nic = netdev_priv(dev);
-
-       return &nic->stats;
-}
-
 static int gdm_wimax_open(struct net_device *dev)
 {
        struct nic *nic = netdev_priv(dev);
@@ -707,7 +700,6 @@ static int gdm_wimax_get_prepared_info(struct net_device 
*dev, char *buf,
 
 static void gdm_wimax_netif_rx(struct net_device *dev, char *buf, int len)
 {
-       struct nic *nic = netdev_priv(dev);
        struct sk_buff *skb;
        int ret;
 
@@ -720,8 +712,8 @@ static void gdm_wimax_netif_rx(struct net_device *dev, char 
*buf, int len)
        }
        skb_reserve(skb, 2);
 
-       nic->stats.rx_packets++;
-       nic->stats.rx_bytes += len;
+       dev->stats.rx_packets++;
+       dev->stats.rx_bytes += len;
 
        memcpy(skb_put(skb, len), buf, len);
 
@@ -877,7 +869,6 @@ static struct net_device_ops gdm_netdev_ops = {
        .ndo_stop               = gdm_wimax_close,
        .ndo_set_config         = gdm_wimax_set_config,
        .ndo_start_xmit         = gdm_wimax_tx,
-       .ndo_get_stats          = gdm_wimax_stats,
        .ndo_set_mac_address    = gdm_wimax_set_mac_addr,
        .ndo_do_ioctl           = gdm_wimax_ioctl,
 };
diff --git a/drivers/staging/gdm72xx/gdm_wimax.h 
b/drivers/staging/gdm72xx/gdm_wimax.h
index 7e2c888..798dcc3 100644
--- a/drivers/staging/gdm72xx/gdm_wimax.h
+++ b/drivers/staging/gdm72xx/gdm_wimax.h
@@ -46,7 +46,6 @@ struct phy_dev {
 struct nic {
        struct net_device       *netdev;
        struct phy_dev          *phy_dev;
-       struct net_device_stats stats;
        struct data_s           sdk_data[SIOC_DATA_MAX];
 #if defined(CONFIG_WIMAX_GDM72XX_QOS)
        struct qos_cb_s         qos;
-- 
2.0.1


_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to