diff options
Diffstat (limited to 'drivers/net/hamradio/bpqether.c')
| -rw-r--r-- | drivers/net/hamradio/bpqether.c | 26 | 
1 files changed, 12 insertions, 14 deletions
diff --git a/drivers/net/hamradio/bpqether.c b/drivers/net/hamradio/bpqether.c index ac1d323c5eb..d50b23cf9ea 100644 --- a/drivers/net/hamradio/bpqether.c +++ b/drivers/net/hamradio/bpqether.c @@ -69,7 +69,6 @@  #include <linux/if_arp.h>  #include <linux/skbuff.h>  #include <net/sock.h> -#include <asm/system.h>  #include <asm/uaccess.h>  #include <linux/mm.h>  #include <linux/interrupt.h> @@ -88,7 +87,7 @@  #include <linux/bpqether.h> -static const char banner[] __initdata = KERN_INFO \ +static const char banner[] __initconst = KERN_INFO \  	"AX.25: bpqether driver version 004\n";  static char bcast_addr[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; @@ -104,7 +103,7 @@ static struct packet_type bpq_packet_type __read_mostly = {  };  static struct notifier_block bpq_dev_notifier = { -	.notifier_call =bpq_device_event, +	.notifier_call = bpq_device_event,  }; @@ -209,7 +208,7 @@ static int bpq_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_ty  	eth = eth_hdr(skb);  	if (!(bpq->acpt_addr[0] & 0x01) && -	    memcmp(eth->h_source, bpq->acpt_addr, ETH_ALEN)) +	    !ether_addr_equal(eth->h_source, bpq->acpt_addr))  		goto drop_unlock;  	if (skb_cow(skb, sizeof(struct ethhdr))) @@ -400,13 +399,14 @@ static void *bpq_seq_start(struct seq_file *seq, loff_t *pos)  static void *bpq_seq_next(struct seq_file *seq, void *v, loff_t *pos)  {  	struct list_head *p; +	struct bpqdev *bpqdev = v;  	++*pos;  	if (v == SEQ_START_TOKEN) -		p = rcu_dereference(bpq_devices.next); +		p = rcu_dereference(list_next_rcu(&bpq_devices));  	else -		p = rcu_dereference(((struct bpqdev *)v)->bpq_list.next); +		p = rcu_dereference(list_next_rcu(&bpqdev->bpq_list));  	return (p == &bpq_devices) ? NULL   		: list_entry(p, struct bpqdev, bpq_list); @@ -515,10 +515,6 @@ static int bpq_new_device(struct net_device *edev)  	memcpy(bpq->dest_addr, bcast_addr, sizeof(bpq_eth_addr));  	memcpy(bpq->acpt_addr, bcast_addr, sizeof(bpq_eth_addr)); -	err = dev_alloc_name(ndev, ndev->name); -	if (err < 0)  -		goto error; -  	err = register_netdevice(ndev);  	if (err)  		goto error; @@ -548,9 +544,10 @@ static void bpq_free_device(struct net_device *ndev)  /*   *	Handle device status changes.   */ -static int bpq_device_event(struct notifier_block *this,unsigned long event, void *ptr) +static int bpq_device_event(struct notifier_block *this, +			    unsigned long event, void *ptr)  { -	struct net_device *dev = (struct net_device *)ptr; +	struct net_device *dev = netdev_notifier_info_to_dev(ptr);  	if (!net_eq(dev_net(dev), &init_net))  		return NOTIFY_DONE; @@ -590,7 +587,8 @@ static int bpq_device_event(struct notifier_block *this,unsigned long event, voi  static int __init bpq_init_driver(void)  {  #ifdef CONFIG_PROC_FS -	if (!proc_net_fops_create(&init_net, "bpqether", S_IRUGO, &bpq_info_fops)) { +	if (!proc_create("bpqether", S_IRUGO, init_net.proc_net, +			 &bpq_info_fops)) {  		printk(KERN_ERR  			"bpq: cannot create /proc/net/bpqether entry.\n");  		return -ENOENT; @@ -614,7 +612,7 @@ static void __exit bpq_cleanup_driver(void)  	unregister_netdevice_notifier(&bpq_dev_notifier); -	proc_net_remove(&init_net, "bpqether"); +	remove_proc_entry("bpqether", init_net.proc_net);  	rtnl_lock();  	while (!list_empty(&bpq_devices)) {  | 
