X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Frose%2Frose_route.c;h=d19d931a1a75a26bb4395fae73c0dd1efab16d45;hb=8e8ece46a861c84343256819eaec77e608ff9217;hp=0cd8810f2698155276d1f640bb3ffc352400546e;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/net/rose/rose_route.c b/net/rose/rose_route.c index 0cd8810f2..d19d931a1 100644 --- a/net/rose/rose_route.c +++ b/net/rose/rose_route.c @@ -40,11 +40,11 @@ static unsigned int rose_neigh_no = 1; static struct rose_node *rose_node_list; -static spinlock_t rose_node_list_lock = SPIN_LOCK_UNLOCKED; -struct rose_neigh *rose_neigh_list; -static spinlock_t rose_neigh_list_lock = SPIN_LOCK_UNLOCKED; +static DEFINE_SPINLOCK(rose_node_list_lock); +static struct rose_neigh *rose_neigh_list; +static DEFINE_SPINLOCK(rose_neigh_list_lock); static struct rose_route *rose_route_list; -static spinlock_t rose_route_list_lock = SPIN_LOCK_UNLOCKED; +static DEFINE_SPINLOCK(rose_route_list_lock); struct rose_neigh *rose_loopback_neigh; @@ -206,7 +206,6 @@ static void rose_remove_node(struct rose_node *rose_node) { struct rose_node *s; - spin_lock_bh(&rose_node_list_lock); if ((s = rose_node_list) == rose_node) { rose_node_list = rose_node->next; kfree(rose_node); @@ -588,7 +587,7 @@ static int rose_clear_routes(void) /* * Check that the device given is a valid AX.25 interface that is "up". */ -struct net_device *rose_ax25_dev_get(char *devname) +static struct net_device *rose_ax25_dev_get(char *devname) { struct net_device *dev; @@ -728,7 +727,8 @@ int rose_rt_ioctl(unsigned int cmd, void __user *arg) } if (rose_route.mask > 10) /* Mask can't be more than 10 digits */ return -EINVAL; - + if (rose_route.ndigis > 8) /* No more than 8 digipeats */ + return -EINVAL; err = rose_add_node(&rose_route, dev); dev_put(dev); return err;