Commit 47baf1ad authored by Tobias Klauser's avatar Tobias Klauser Committed by Greg Kroah-Hartman

tty: n_gsm: Use net_device_stats from struct net_device

Instead of using a private copy of struct net_device_stats in struct
gsm_mux_net, use stats from struct net_device. Also remove
the now unnecessary .ndo_get_stats function.
Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d437fa91
...@@ -89,18 +89,14 @@ module_param(debug, int, 0600); ...@@ -89,18 +89,14 @@ module_param(debug, int, 0600);
/** /**
* struct gsm_mux_net - network interface * struct gsm_mux_net - network interface
* @struct gsm_dlci* dlci * @struct gsm_dlci* dlci
* @struct net_device_stats stats;
* *
* Created when net interface is initialized. * Created when net interface is initialized.
**/ **/
struct gsm_mux_net { struct gsm_mux_net {
struct kref ref; struct kref ref;
struct gsm_dlci *dlci; struct gsm_dlci *dlci;
struct net_device_stats stats;
}; };
#define STATS(net) (((struct gsm_mux_net *)netdev_priv(net))->stats)
/* /*
* Each block of data we have queued to go out is in the form of * Each block of data we have queued to go out is in the form of
* a gsm_msg which holds everything we need in a link layer independent * a gsm_msg which holds everything we need in a link layer independent
...@@ -2613,10 +2609,6 @@ static int gsm_mux_net_close(struct net_device *net) ...@@ -2613,10 +2609,6 @@ static int gsm_mux_net_close(struct net_device *net)
return 0; return 0;
} }
static struct net_device_stats *gsm_mux_net_get_stats(struct net_device *net)
{
return &((struct gsm_mux_net *)netdev_priv(net))->stats;
}
static void dlci_net_free(struct gsm_dlci *dlci) static void dlci_net_free(struct gsm_dlci *dlci)
{ {
if (!dlci->net) { if (!dlci->net) {
...@@ -2660,8 +2652,8 @@ static int gsm_mux_net_start_xmit(struct sk_buff *skb, ...@@ -2660,8 +2652,8 @@ static int gsm_mux_net_start_xmit(struct sk_buff *skb,
muxnet_get(mux_net); muxnet_get(mux_net);
skb_queue_head(&dlci->skb_list, skb); skb_queue_head(&dlci->skb_list, skb);
STATS(net).tx_packets++; net->stats.tx_packets++;
STATS(net).tx_bytes += skb->len; net->stats.tx_bytes += skb->len;
gsm_dlci_data_kick(dlci); gsm_dlci_data_kick(dlci);
/* And tell the kernel when the last transmit started. */ /* And tell the kernel when the last transmit started. */
netif_trans_update(net); netif_trans_update(net);
...@@ -2676,7 +2668,7 @@ static void gsm_mux_net_tx_timeout(struct net_device *net) ...@@ -2676,7 +2668,7 @@ static void gsm_mux_net_tx_timeout(struct net_device *net)
dev_dbg(&net->dev, "Tx timed out.\n"); dev_dbg(&net->dev, "Tx timed out.\n");
/* Update statistics */ /* Update statistics */
STATS(net).tx_errors++; net->stats.tx_errors++;
} }
static void gsm_mux_rx_netchar(struct gsm_dlci *dlci, static void gsm_mux_rx_netchar(struct gsm_dlci *dlci,
...@@ -2691,7 +2683,7 @@ static void gsm_mux_rx_netchar(struct gsm_dlci *dlci, ...@@ -2691,7 +2683,7 @@ static void gsm_mux_rx_netchar(struct gsm_dlci *dlci,
skb = dev_alloc_skb(size + NET_IP_ALIGN); skb = dev_alloc_skb(size + NET_IP_ALIGN);
if (!skb) { if (!skb) {
/* We got no receive buffer. */ /* We got no receive buffer. */
STATS(net).rx_dropped++; net->stats.rx_dropped++;
muxnet_put(mux_net); muxnet_put(mux_net);
return; return;
} }
...@@ -2705,8 +2697,8 @@ static void gsm_mux_rx_netchar(struct gsm_dlci *dlci, ...@@ -2705,8 +2697,8 @@ static void gsm_mux_rx_netchar(struct gsm_dlci *dlci,
netif_rx(skb); netif_rx(skb);
/* update out statistics */ /* update out statistics */
STATS(net).rx_packets++; net->stats.rx_packets++;
STATS(net).rx_bytes += size; net->stats.rx_bytes += size;
muxnet_put(mux_net); muxnet_put(mux_net);
return; return;
} }
...@@ -2718,7 +2710,6 @@ static void gsm_mux_net_init(struct net_device *net) ...@@ -2718,7 +2710,6 @@ static void gsm_mux_net_init(struct net_device *net)
.ndo_stop = gsm_mux_net_close, .ndo_stop = gsm_mux_net_close,
.ndo_start_xmit = gsm_mux_net_start_xmit, .ndo_start_xmit = gsm_mux_net_start_xmit,
.ndo_tx_timeout = gsm_mux_net_tx_timeout, .ndo_tx_timeout = gsm_mux_net_tx_timeout,
.ndo_get_stats = gsm_mux_net_get_stats,
}; };
net->netdev_ops = &gsm_netdev_ops; net->netdev_ops = &gsm_netdev_ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment