Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 92005
b: refs/heads/master
c: 6440be1
h: refs/heads/master
i:
  92003: b269d76
v: v3
  • Loading branch information
David S. Miller committed Apr 24, 2008
1 parent 05996ef commit f350cce
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 34 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: 099714934d80100624829f1e2961b9dccaef3280
refs/heads/master: 6440be177f56e0b52dd81df82b78875d9a07d5f9
48 changes: 19 additions & 29 deletions trunk/drivers/net/ppp_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ struct ppp {
u32 minseq; /* MP: min of most recent seqnos */
struct sk_buff_head mrq; /* MP: receive reconstruction queue */
#endif /* CONFIG_PPP_MULTILINK */
struct net_device_stats stats; /* statistics */
#ifdef CONFIG_PPP_FILTER
struct sock_filter *pass_filter; /* filter for packets to pass */
struct sock_filter *active_filter;/* filter for pkts to reset idle */
Expand Down Expand Up @@ -914,18 +913,10 @@ ppp_start_xmit(struct sk_buff *skb, struct net_device *dev)

outf:
kfree_skb(skb);
++ppp->stats.tx_dropped;
++ppp->dev->stats.tx_dropped;
return 0;
}

static struct net_device_stats *
ppp_net_stats(struct net_device *dev)
{
struct ppp *ppp = (struct ppp *) dev->priv;

return &ppp->stats;
}

static int
ppp_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
Expand Down Expand Up @@ -1095,8 +1086,8 @@ ppp_send_frame(struct ppp *ppp, struct sk_buff *skb)
#endif /* CONFIG_PPP_FILTER */
}

++ppp->stats.tx_packets;
ppp->stats.tx_bytes += skb->len - 2;
++ppp->dev->stats.tx_packets;
ppp->dev->stats.tx_bytes += skb->len - 2;

switch (proto) {
case PPP_IP:
Expand Down Expand Up @@ -1171,7 +1162,7 @@ ppp_send_frame(struct ppp *ppp, struct sk_buff *skb)
drop:
if (skb)
kfree_skb(skb);
++ppp->stats.tx_errors;
++ppp->dev->stats.tx_errors;
}

/*
Expand Down Expand Up @@ -1409,7 +1400,7 @@ static int ppp_mp_explode(struct ppp *ppp, struct sk_buff *skb)
spin_unlock_bh(&pch->downl);
if (ppp->debug & 1)
printk(KERN_ERR "PPP: no memory (fragment)\n");
++ppp->stats.tx_errors;
++ppp->dev->stats.tx_errors;
++ppp->nxseq;
return 1; /* abandon the frame */
}
Expand Down Expand Up @@ -1538,7 +1529,7 @@ ppp_receive_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)

if (skb->len > 0)
/* note: a 0-length skb is used as an error indication */
++ppp->stats.rx_length_errors;
++ppp->dev->stats.rx_length_errors;

kfree_skb(skb);
ppp_receive_error(ppp);
Expand All @@ -1547,7 +1538,7 @@ ppp_receive_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
static void
ppp_receive_error(struct ppp *ppp)
{
++ppp->stats.rx_errors;
++ppp->dev->stats.rx_errors;
if (ppp->vj)
slhc_toss(ppp->vj);
}
Expand Down Expand Up @@ -1627,8 +1618,8 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb)
break;
}

++ppp->stats.rx_packets;
ppp->stats.rx_bytes += skb->len - 2;
++ppp->dev->stats.rx_packets;
ppp->dev->stats.rx_bytes += skb->len - 2;

npi = proto_to_npindex(proto);
if (npi < 0) {
Expand Down Expand Up @@ -1806,7 +1797,7 @@ ppp_receive_mp_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
*/
if (seq_before(seq, ppp->nextseq)) {
kfree_skb(skb);
++ppp->stats.rx_dropped;
++ppp->dev->stats.rx_dropped;
ppp_receive_error(ppp);
return;
}
Expand Down Expand Up @@ -1928,7 +1919,7 @@ ppp_mp_reconstruct(struct ppp *ppp)
/* Got a complete packet yet? */
if (lost == 0 && (p->BEbits & E) && (head->BEbits & B)) {
if (len > ppp->mrru + 2) {
++ppp->stats.rx_length_errors;
++ppp->dev->stats.rx_length_errors;
printk(KERN_DEBUG "PPP: reconstructed packet"
" is too long (%d)\n", len);
} else if (p == head) {
Expand All @@ -1937,7 +1928,7 @@ ppp_mp_reconstruct(struct ppp *ppp)
skb = skb_get(p);
break;
} else if ((skb = dev_alloc_skb(len)) == NULL) {
++ppp->stats.rx_missed_errors;
++ppp->dev->stats.rx_missed_errors;
printk(KERN_DEBUG "PPP: no memory for "
"reconstructed packet");
} else {
Expand Down Expand Up @@ -1966,7 +1957,7 @@ ppp_mp_reconstruct(struct ppp *ppp)
if (ppp->debug & 1)
printk(KERN_DEBUG " missed pkts %u..%u\n",
ppp->nextseq, head->sequence-1);
++ppp->stats.rx_dropped;
++ppp->dev->stats.rx_dropped;
ppp_receive_error(ppp);
}

Expand Down Expand Up @@ -2377,12 +2368,12 @@ ppp_get_stats(struct ppp *ppp, struct ppp_stats *st)
struct slcompress *vj = ppp->vj;

memset(st, 0, sizeof(*st));
st->p.ppp_ipackets = ppp->stats.rx_packets;
st->p.ppp_ierrors = ppp->stats.rx_errors;
st->p.ppp_ibytes = ppp->stats.rx_bytes;
st->p.ppp_opackets = ppp->stats.tx_packets;
st->p.ppp_oerrors = ppp->stats.tx_errors;
st->p.ppp_obytes = ppp->stats.tx_bytes;
st->p.ppp_ipackets = ppp->dev->stats.rx_packets;
st->p.ppp_ierrors = ppp->dev->stats.rx_errors;
st->p.ppp_ibytes = ppp->dev->stats.rx_bytes;
st->p.ppp_opackets = ppp->dev->stats.tx_packets;
st->p.ppp_oerrors = ppp->dev->stats.tx_errors;
st->p.ppp_obytes = ppp->dev->stats.tx_bytes;
if (!vj)
return;
st->vj.vjs_packets = vj->sls_o_compressed + vj->sls_o_uncompressed;
Expand Down Expand Up @@ -2436,7 +2427,6 @@ ppp_create_interface(int unit, int *retp)
dev->priv = ppp;

dev->hard_start_xmit = ppp_start_xmit;
dev->get_stats = ppp_net_stats;
dev->do_ioctl = ppp_net_ioctl;

ret = -EEXIST;
Expand Down
11 changes: 9 additions & 2 deletions trunk/drivers/net/tun.c
Original file line number Diff line number Diff line change
Expand Up @@ -668,16 +668,23 @@ static int tun_chr_ioctl(struct inode *inode, struct file *file,
break;

case TUNSETLINK:
{
int ret;

/* Only allow setting the type when the interface is down */
rtnl_lock();
if (tun->dev->flags & IFF_UP) {
DBG(KERN_INFO "%s: Linktype set failed because interface is up\n",
tun->dev->name);
return -EBUSY;
ret = -EBUSY;
} else {
tun->dev->type = (int) arg;
DBG(KERN_INFO "%s: linktype set to %d\n", tun->dev->name, tun->dev->type);
ret = 0;
}
break;
rtnl_unlock();
return ret;
}

#ifdef TUN_DEBUG
case TUNSETDEBUG:
Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/wireless/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@ obj-$(CONFIG_RTL8187) += rtl8187.o

obj-$(CONFIG_ADM8211) += adm8211.o

obj-$(CONFIG_IWL3945) += iwlwifi/
obj-$(CONFIG_IWL4965) += iwlwifi/
obj-$(CONFIG_IWLCORE) += iwlwifi/
obj-$(CONFIG_RT2X00) += rt2x00/

obj-$(CONFIG_P54_COMMON) += p54/
Expand Down

0 comments on commit f350cce

Please sign in to comment.