git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
[pandora-kernel.git]
/
drivers
/
net
/
hamradio
/
6pack.c
diff --git
a/drivers/net/hamradio/6pack.c
b/drivers/net/hamradio/6pack.c
index
19dd0a6
..
0f501d2
100644
(file)
--- a/
drivers/net/hamradio/6pack.c
+++ b/
drivers/net/hamradio/6pack.c
@@
-99,9
+99,6
@@
struct sixpack {
unsigned int rx_count;
unsigned int rx_count_cooked;
unsigned int rx_count;
unsigned int rx_count_cooked;
- /* 6pack interface statistics. */
- struct net_device_stats stats;
-
int mtu; /* Our mtu (to spot changes!) */
int buffsize; /* Max buffers sizes */
int mtu; /* Our mtu (to spot changes!) */
int buffsize; /* Max buffers sizes */
@@
-237,7
+234,7
@@
static void sp_encaps(struct sixpack *sp, unsigned char *icp, int len)
return;
out_drop:
return;
out_drop:
- sp->stats.tx_dropped++;
+ sp->
dev->
stats.tx_dropped++;
netif_start_queue(sp->dev);
if (net_ratelimit())
printk(KERN_DEBUG "%s: %s - dropped.\n", sp->dev->name, msg);
netif_start_queue(sp->dev);
if (net_ratelimit())
printk(KERN_DEBUG "%s: %s - dropped.\n", sp->dev->name, msg);
@@
-252,7
+249,7
@@
static int sp_xmit(struct sk_buff *skb, struct net_device *dev)
spin_lock_bh(&sp->lock);
/* We were not busy, so we are now... :-) */
netif_stop_queue(dev);
spin_lock_bh(&sp->lock);
/* We were not busy, so we are now... :-) */
netif_stop_queue(dev);
-
sp
->stats.tx_bytes += skb->len;
+
dev
->stats.tx_bytes += skb->len;
sp_encaps(sp, skb->data, skb->len);
spin_unlock_bh(&sp->lock);
sp_encaps(sp, skb->data, skb->len);
spin_unlock_bh(&sp->lock);
@@
-298,18
+295,14
@@
static int sp_header(struct sk_buff *skb, struct net_device *dev,
return 0;
}
return 0;
}
-static struct net_device_stats *sp_get_stats(struct net_device *dev)
-{
- struct sixpack *sp = netdev_priv(dev);
- return &sp->stats;
-}
-
static int sp_set_mac_address(struct net_device *dev, void *addr)
{
struct sockaddr_ax25 *sa = addr;
netif_tx_lock_bh(dev);
static int sp_set_mac_address(struct net_device *dev, void *addr)
{
struct sockaddr_ax25 *sa = addr;
netif_tx_lock_bh(dev);
+ netif_addr_lock(dev);
memcpy(dev->dev_addr, &sa->sax25_call, AX25_ADDR_LEN);
memcpy(dev->dev_addr, &sa->sax25_call, AX25_ADDR_LEN);
+ netif_addr_unlock(dev);
netif_tx_unlock_bh(dev);
return 0;
netif_tx_unlock_bh(dev);
return 0;
@@
-338,7
+331,6
@@
static void sp_setup(struct net_device *dev)
dev->destructor = free_netdev;
dev->stop = sp_close;
dev->destructor = free_netdev;
dev->stop = sp_close;
- dev->get_stats = sp_get_stats;
dev->set_mac_address = sp_set_mac_address;
dev->hard_header_len = AX25_MAX_HEADER_LEN;
dev->header_ops = &sp_header_ops;
dev->set_mac_address = sp_set_mac_address;
dev->hard_header_len = AX25_MAX_HEADER_LEN;
dev->header_ops = &sp_header_ops;
@@
-370,7
+362,7
@@
static void sp_bump(struct sixpack *sp, char cmd)
count = sp->rcount + 1;
count = sp->rcount + 1;
- sp->stats.rx_bytes += count;
+ sp->
dev->
stats.rx_bytes += count;
if ((skb = dev_alloc_skb(count)) == NULL)
goto out_mem;
if ((skb = dev_alloc_skb(count)) == NULL)
goto out_mem;
@@
-382,12
+374,12
@@
static void sp_bump(struct sixpack *sp, char cmd)
skb->protocol = ax25_type_trans(skb, sp->dev);
netif_rx(skb);
sp->dev->last_rx = jiffies;
skb->protocol = ax25_type_trans(skb, sp->dev);
netif_rx(skb);
sp->dev->last_rx = jiffies;
- sp->stats.rx_packets++;
+ sp->
dev->
stats.rx_packets++;
return;
out_mem:
return;
out_mem:
- sp->stats.rx_dropped++;
+ sp->
dev->
stats.rx_dropped++;
}
}
@@
-436,7
+428,7
@@
static void sixpack_write_wakeup(struct tty_struct *tty)
if (sp->xleft <= 0) {
/* Now serial buffer is almost free & we can start
* transmission of another packet */
if (sp->xleft <= 0) {
/* Now serial buffer is almost free & we can start
* transmission of another packet */
- sp->stats.tx_packets++;
+ sp->
dev->
stats.tx_packets++;
clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
sp->tx_enable = 0;
netif_wake_queue(sp->dev);
clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
sp->tx_enable = 0;
netif_wake_queue(sp->dev);
@@
-484,7
+476,7
@@
static void sixpack_receive_buf(struct tty_struct *tty,
count--;
if (fp && *fp++) {
if (!test_and_set_bit(SIXPF_ERROR, &sp->flags))
count--;
if (fp && *fp++) {
if (!test_and_set_bit(SIXPF_ERROR, &sp->flags))
- sp->stats.rx_errors++;
+ sp->
dev->
stats.rx_errors++;
continue;
}
}
continue;
}
}