[PATCH 12/12] Introduct stuct nr_private
From: Ralf Baechle DL5RB <hidden>
Date: 2005-09-11 22:19:37
Also in:
linux-hams
NET/ROM's virtual interfaces don't have a proper private data structure yet. Create struct nr_private and put the statistics there. Signed-off-by: Ralf Baechle DL5RB <redacted> include/net/netrom.h | 5 +++++ net/netrom/af_netrom.c | 3 +-- net/netrom/nr_dev.c | 11 ++++++----- 3 files changed, 12 insertions(+), 7 deletions(-) Index: net-2.6.git/include/net/netrom.h ===================================================================
--- net-2.6.git.orig/include/net/netrom.h
+++ net-2.6.git/include/net/netrom.h@@ -6,6 +6,7 @@ #ifndef _NETROM_H #define _NETROM_H + #include <linux/netrom.h> #include <linux/list.h> #include <net/sock.h>
@@ -58,6 +59,10 @@ enum { #define NR_MAX_WINDOW_SIZE 127 /* Maximum Window Allowable - 127 */ #define NR_MAX_PACKET_SIZE 236 /* Maximum Packet Length - 236 */ +struct nr_private { + struct net_device_stats stats; +}; + struct nr_sock { struct sock sock; ax25_address user_addr, source_addr, dest_addr;
Index: net-2.6.git/net/netrom/af_netrom.c ===================================================================
--- net-2.6.git.orig/net/netrom/af_netrom.c
+++ net-2.6.git/net/netrom/af_netrom.c@@ -1392,8 +1392,7 @@ static int __init nr_proto_init(void) struct net_device *dev; sprintf(name, "nr%d", i); - dev = alloc_netdev(sizeof(struct net_device_stats), name, - nr_setup); + dev = alloc_netdev(sizeof(struct nr_private), name, nr_setup); if (!dev) { printk(KERN_ERR "NET/ROM: nr_proto_init - unable to allocate device structure\n"); goto fail;
Index: net-2.6.git/net/netrom/nr_dev.c ===================================================================
--- net-2.6.git.orig/net/netrom/nr_dev.c
+++ net-2.6.git/net/netrom/nr_dev.c@@ -153,10 +153,9 @@ static int nr_close(struct net_device *d static int nr_xmit(struct sk_buff *skb, struct net_device *dev) { - struct net_device_stats *stats = netdev_priv(dev); - unsigned int len; - - len = skb->len; + struct nr_private *nr = netdev_priv(dev); + struct net_device_stats *stats = &nr->stats; + unsigned int len = skb->len; if (!nr_route_frame(skb, NULL)) { kfree_skb(skb);
@@ -172,7 +171,9 @@ static int nr_xmit(struct sk_buff *skb, static struct net_device_stats *nr_get_stats(struct net_device *dev) { - return netdev_priv(dev); + struct nr_private *nr = netdev_priv(dev); + + return &nr->stats; } void nr_setup(struct net_device *dev)