Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 83660
b: refs/heads/master
c: 983e230
h: refs/heads/master
v: v3
  • Loading branch information
Krzysztof Halasa authored and Jeff Garzik committed Feb 5, 2008
1 parent 8e01faf commit feaa503
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d2f4fbe2982b3b9e46deea8d7288ea8f8d7b5bc4
refs/heads/master: 983e23041b28abb113862b2935a85cfb9aab4f5a
38 changes: 18 additions & 20 deletions trunk/drivers/net/wan/hdlc_fr.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,10 @@ typedef struct pvc_device_struct {
}state;
}pvc_device;

struct pvc_desc {
struct net_device_stats stats;
pvc_device *pvc;
};

struct frad_state {
fr_proto settings;
Expand Down Expand Up @@ -171,17 +175,20 @@ static inline void dlci_to_q922(u8 *hdr, u16 dlci)
}


static inline struct frad_state * state(hdlc_device *hdlc)
static inline struct frad_state* state(hdlc_device *hdlc)
{
return(struct frad_state *)(hdlc->state);
}


static __inline__ pvc_device* dev_to_pvc(struct net_device *dev)
static inline struct pvc_desc* pvcdev_to_desc(struct net_device *dev)
{
return dev->priv;
}

static inline struct net_device_stats* pvc_get_stats(struct net_device *dev)
{
return &pvcdev_to_desc(dev)->stats;
}

static inline pvc_device* find_pvc(hdlc_device *hdlc, u16 dlci)
{
Expand Down Expand Up @@ -351,7 +358,7 @@ static int fr_hard_header(struct sk_buff **skb_p, u16 dlci)

static int pvc_open(struct net_device *dev)
{
pvc_device *pvc = dev_to_pvc(dev);
pvc_device *pvc = pvcdev_to_desc(dev)->pvc;

if ((pvc->frad->flags & IFF_UP) == 0)
return -EIO; /* Frad must be UP in order to activate PVC */
Expand All @@ -371,7 +378,7 @@ static int pvc_open(struct net_device *dev)

static int pvc_close(struct net_device *dev)
{
pvc_device *pvc = dev_to_pvc(dev);
pvc_device *pvc = pvcdev_to_desc(dev)->pvc;

if (--pvc->open_count == 0) {
hdlc_device *hdlc = dev_to_hdlc(pvc->frad);
Expand All @@ -390,7 +397,7 @@ static int pvc_close(struct net_device *dev)

static int pvc_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
pvc_device *pvc = dev_to_pvc(dev);
pvc_device *pvc = pvcdev_to_desc(dev)->pvc;
fr_proto_pvc_info info;

if (ifr->ifr_settings.type == IF_GET_PROTO) {
Expand All @@ -416,17 +423,9 @@ static int pvc_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
return -EINVAL;
}


static inline struct net_device_stats *pvc_get_stats(struct net_device *dev)
{
return &dev_to_desc(dev)->stats;
}



static int pvc_xmit(struct sk_buff *skb, struct net_device *dev)
{
pvc_device *pvc = dev_to_pvc(dev);
pvc_device *pvc = pvcdev_to_desc(dev)->pvc;
struct net_device_stats *stats = pvc_get_stats(dev);

if (pvc->state.active) {
Expand Down Expand Up @@ -1109,11 +1108,10 @@ static int fr_add_pvc(struct net_device *frad, unsigned int dlci, int type)
used = pvc_is_used(pvc);

if (type == ARPHRD_ETHER)
dev = alloc_netdev(sizeof(struct net_device_stats),
"pvceth%d", ether_setup);
dev = alloc_netdev(sizeof(struct pvc_desc), "pvceth%d",
ether_setup);
else
dev = alloc_netdev(sizeof(struct net_device_stats),
"pvc%d", pvc_setup);
dev = alloc_netdev(sizeof(struct pvc_desc), "pvc%d", pvc_setup);

if (!dev) {
printk(KERN_WARNING "%s: Memory squeeze on fr_pvc()\n",
Expand All @@ -1137,7 +1135,7 @@ static int fr_add_pvc(struct net_device *frad, unsigned int dlci, int type)
dev->change_mtu = pvc_change_mtu;
dev->mtu = HDLC_MAX_MTU;
dev->tx_queue_len = 0;
dev->priv = pvc;
pvcdev_to_desc(dev)->pvc = pvc;

result = dev_alloc_name(dev, dev->name);
if (result < 0) {
Expand Down

0 comments on commit feaa503

Please sign in to comment.