diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-07-30 18:14:15 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-07-30 18:14:15 -0400 |
commit | a670fcb43f01a67ef56176afc76e5d43d128b25c (patch) | |
tree | 09c9411c78a33ff980e9ea871bc7686e7589abbf /net/core | |
parent | 327309e899662b482c58cf25f574513d38b5788c (diff) | |
parent | b0825488a642cadcf39709961dde61440cb0731c (diff) |
/spare/repo/netdev-2.6 branch 'master'
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/Makefile | 3 | ||||
-rw-r--r-- | net/core/dev.c | 3 | ||||
-rw-r--r-- | net/core/pktgen.c | 2 | ||||
-rw-r--r-- | net/core/skbuff.c | 4 | ||||
-rw-r--r-- | net/core/sock.c | 13 | ||||
-rw-r--r-- | net/core/utils.c | 37 |
6 files changed, 49 insertions, 13 deletions
diff --git a/net/core/Makefile b/net/core/Makefile index 5e0c56b7f607..f5f5e58943e8 100644 --- a/net/core/Makefile +++ b/net/core/Makefile | |||
@@ -7,9 +7,10 @@ obj-y := sock.o request_sock.o skbuff.o iovec.o datagram.o stream.o scm.o \ | |||
7 | 7 | ||
8 | obj-$(CONFIG_SYSCTL) += sysctl_net_core.o | 8 | obj-$(CONFIG_SYSCTL) += sysctl_net_core.o |
9 | 9 | ||
10 | obj-y += flow.o dev.o ethtool.o dev_mcast.o dst.o \ | 10 | obj-y += dev.o ethtool.o dev_mcast.o dst.o \ |
11 | neighbour.o rtnetlink.o utils.o link_watch.o filter.o | 11 | neighbour.o rtnetlink.o utils.o link_watch.o filter.o |
12 | 12 | ||
13 | obj-$(CONFIG_XFRM) += flow.o | ||
13 | obj-$(CONFIG_SYSFS) += net-sysfs.o | 14 | obj-$(CONFIG_SYSFS) += net-sysfs.o |
14 | obj-$(CONFIG_NETFILTER) += netfilter.o | 15 | obj-$(CONFIG_NETFILTER) += netfilter.o |
15 | obj-$(CONFIG_NET_DIVERT) += dv.o | 16 | obj-$(CONFIG_NET_DIVERT) += dv.o |
diff --git a/net/core/dev.c b/net/core/dev.c index ff9dc029233a..52a3bf7ae177 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -901,8 +901,7 @@ int dev_close(struct net_device *dev) | |||
901 | smp_mb__after_clear_bit(); /* Commit netif_running(). */ | 901 | smp_mb__after_clear_bit(); /* Commit netif_running(). */ |
902 | while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) { | 902 | while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) { |
903 | /* No hurry. */ | 903 | /* No hurry. */ |
904 | current->state = TASK_INTERRUPTIBLE; | 904 | msleep(1); |
905 | schedule_timeout(1); | ||
906 | } | 905 | } |
907 | 906 | ||
908 | /* | 907 | /* |
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 975d651312dc..8eb083b6041a 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -363,7 +363,7 @@ struct pktgen_thread { | |||
363 | * All Rights Reserved. | 363 | * All Rights Reserved. |
364 | * | 364 | * |
365 | */ | 365 | */ |
366 | inline static s64 divremdi3(s64 x, s64 y, int type) | 366 | static inline s64 divremdi3(s64 x, s64 y, int type) |
367 | { | 367 | { |
368 | u64 a = (x < 0) ? -x : x; | 368 | u64 a = (x < 0) ? -x : x; |
369 | u64 b = (y < 0) ? -y : y; | 369 | u64 b = (y < 0) ? -y : y; |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index d9f7b06fe886..7eab867ede59 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -377,8 +377,8 @@ struct sk_buff *skb_clone(struct sk_buff *skb, unsigned int __nocast gfp_mask) | |||
377 | C(tc_index); | 377 | C(tc_index); |
378 | #ifdef CONFIG_NET_CLS_ACT | 378 | #ifdef CONFIG_NET_CLS_ACT |
379 | n->tc_verd = SET_TC_VERD(skb->tc_verd,0); | 379 | n->tc_verd = SET_TC_VERD(skb->tc_verd,0); |
380 | n->tc_verd = CLR_TC_OK2MUNGE(skb->tc_verd); | 380 | n->tc_verd = CLR_TC_OK2MUNGE(n->tc_verd); |
381 | n->tc_verd = CLR_TC_MUNGED(skb->tc_verd); | 381 | n->tc_verd = CLR_TC_MUNGED(n->tc_verd); |
382 | C(input_dev); | 382 | C(input_dev); |
383 | C(tc_classid); | 383 | C(tc_classid); |
384 | #endif | 384 | #endif |
diff --git a/net/core/sock.c b/net/core/sock.c index 8b35ccdc2b3b..12f6d9a2a522 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -206,13 +206,14 @@ int sock_setsockopt(struct socket *sock, int level, int optname, | |||
206 | */ | 206 | */ |
207 | 207 | ||
208 | #ifdef SO_DONTLINGER /* Compatibility item... */ | 208 | #ifdef SO_DONTLINGER /* Compatibility item... */ |
209 | switch (optname) { | 209 | if (optname == SO_DONTLINGER) { |
210 | case SO_DONTLINGER: | 210 | lock_sock(sk); |
211 | sock_reset_flag(sk, SOCK_LINGER); | 211 | sock_reset_flag(sk, SOCK_LINGER); |
212 | return 0; | 212 | release_sock(sk); |
213 | return 0; | ||
213 | } | 214 | } |
214 | #endif | 215 | #endif |
215 | 216 | ||
216 | if(optlen<sizeof(int)) | 217 | if(optlen<sizeof(int)) |
217 | return(-EINVAL); | 218 | return(-EINVAL); |
218 | 219 | ||
diff --git a/net/core/utils.c b/net/core/utils.c index e11a8654f363..88eb8b68e26b 100644 --- a/net/core/utils.c +++ b/net/core/utils.c | |||
@@ -23,10 +23,10 @@ | |||
23 | #include <linux/percpu.h> | 23 | #include <linux/percpu.h> |
24 | #include <linux/init.h> | 24 | #include <linux/init.h> |
25 | 25 | ||
26 | #include <asm/byteorder.h> | ||
26 | #include <asm/system.h> | 27 | #include <asm/system.h> |
27 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
28 | 29 | ||
29 | |||
30 | /* | 30 | /* |
31 | This is a maximally equidistributed combined Tausworthe generator | 31 | This is a maximally equidistributed combined Tausworthe generator |
32 | based on code from GNU Scientific Library 1.5 (30 Jun 2004) | 32 | based on code from GNU Scientific Library 1.5 (30 Jun 2004) |
@@ -153,3 +153,38 @@ int net_ratelimit(void) | |||
153 | EXPORT_SYMBOL(net_random); | 153 | EXPORT_SYMBOL(net_random); |
154 | EXPORT_SYMBOL(net_ratelimit); | 154 | EXPORT_SYMBOL(net_ratelimit); |
155 | EXPORT_SYMBOL(net_srandom); | 155 | EXPORT_SYMBOL(net_srandom); |
156 | |||
157 | /* | ||
158 | * Convert an ASCII string to binary IP. | ||
159 | * This is outside of net/ipv4/ because various code that uses IP addresses | ||
160 | * is otherwise not dependent on the TCP/IP stack. | ||
161 | */ | ||
162 | |||
163 | __u32 in_aton(const char *str) | ||
164 | { | ||
165 | unsigned long l; | ||
166 | unsigned int val; | ||
167 | int i; | ||
168 | |||
169 | l = 0; | ||
170 | for (i = 0; i < 4; i++) | ||
171 | { | ||
172 | l <<= 8; | ||
173 | if (*str != '\0') | ||
174 | { | ||
175 | val = 0; | ||
176 | while (*str != '\0' && *str != '.') | ||
177 | { | ||
178 | val *= 10; | ||
179 | val += *str - '0'; | ||
180 | str++; | ||
181 | } | ||
182 | l |= val; | ||
183 | if (*str != '\0') | ||
184 | str++; | ||
185 | } | ||
186 | } | ||
187 | return(htonl(l)); | ||
188 | } | ||
189 | |||
190 | EXPORT_SYMBOL(in_aton); | ||