net: typhoon: Use net_device_stats from struct net_device
authorTobias Klauser <tklauser@distanz.ch>
Fri, 7 Apr 2017 08:17:37 +0000 (10:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 7 Apr 2017 14:03:33 +0000 (07:03 -0700)
Instead of using a private copy of struct net_device_stats in struct
typhoon, use stats from struct net_device.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/3com/typhoon.c

index 084a6d58543a71b35e0aa184cf03a9f9e5af3044..be823c186517a54e6d0317263008267f30bfce9b 100644 (file)
@@ -283,7 +283,6 @@ struct typhoon {
        spinlock_t              command_lock    ____cacheline_aligned;
        struct basic_ring       cmdRing;
        struct basic_ring       respRing;
-       struct net_device_stats stats;
        struct net_device_stats stats_saved;
        struct typhoon_shared * shared;
        dma_addr_t              shared_dma;
@@ -898,7 +897,7 @@ typhoon_set_rx_mode(struct net_device *dev)
 static int
 typhoon_do_get_stats(struct typhoon *tp)
 {
-       struct net_device_stats *stats = &tp->stats;
+       struct net_device_stats *stats = &tp->dev->stats;
        struct net_device_stats *saved = &tp->stats_saved;
        struct cmd_desc xp_cmd;
        struct resp_desc xp_resp[7];
@@ -951,7 +950,7 @@ static struct net_device_stats *
 typhoon_get_stats(struct net_device *dev)
 {
        struct typhoon *tp = netdev_priv(dev);
-       struct net_device_stats *stats = &tp->stats;
+       struct net_device_stats *stats = &tp->dev->stats;
        struct net_device_stats *saved = &tp->stats_saved;
 
        smp_rmb();
@@ -1991,7 +1990,7 @@ typhoon_stop_runtime(struct typhoon *tp, int wait_type)
        tp->card_state = Sleeping;
        smp_wmb();
        typhoon_do_get_stats(tp);
-       memcpy(&tp->stats_saved, &tp->stats, sizeof(struct net_device_stats));
+       memcpy(&tp->stats_saved, &tp->dev->stats, sizeof(struct net_device_stats));
 
        INIT_COMMAND_NO_RESPONSE(&xp_cmd, TYPHOON_CMD_HALT);
        typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);