openwrt/staging/blogic.git
16 years ago[IPV6] SIT: Sparse: Use NULL pointer instead of 0.
YOSHIFUJI Hideaki [Thu, 10 Apr 2008 06:41:27 +0000 (15:41 +0900)]
[IPV6] SIT: Sparse: Use NULL pointer instead of 0.

| net/ipv6/sit.c:382:42: warning: Using plain integer as NULL pointer

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Kill several warnings without CONFIG_IPV6_MROUTE.
YOSHIFUJI Hideaki [Thu, 10 Apr 2008 06:41:26 +0000 (15:41 +0900)]
[IPV6]: Kill several warnings without CONFIG_IPV6_MROUTE.

Pointed out by Andrew Morton <akpm@linux-foundation.org>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years agoIPV4: use xor rather than multiple ands for route compare
Stephen Hemminger [Thu, 10 Apr 2008 11:00:28 +0000 (04:00 -0700)]
IPV4: use xor rather than multiple ands for route compare

The comparison in ip_route_input is a hot path, by recoding the C
"and" as bit operations, fewer conditional branches get generated
so the code should be faster. Maybe someday Gcc will be smart
enough to do this?

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SCTP]: Use snmp_mib_{init,free}().
YOSHIFUJI Hideaki [Thu, 10 Apr 2008 10:50:13 +0000 (03:50 -0700)]
[SCTP]: Use snmp_mib_{init,free}().

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[DCCP]: Use snmp_mib_{init,free}().
YOSHIFUJI Hideaki [Thu, 10 Apr 2008 10:48:43 +0000 (03:48 -0700)]
[DCCP]: Use snmp_mib_{init,free}().

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv4: fib_trie leaf free optimization
Stephen Hemminger [Thu, 10 Apr 2008 10:47:34 +0000 (03:47 -0700)]
ipv4: fib_trie leaf free optimization

Avoid unneeded test in the case where object to be freed
has to be a leaf. Don't need to use the generic tnode_free()
function, instead just setup leaf to be freed.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv4: fib_trie remove unused argument
Stephen Hemminger [Thu, 10 Apr 2008 10:46:12 +0000 (03:46 -0700)]
ipv4: fib_trie remove unused argument

The trie pointer is passed down to flush_list and flush_leaf
but never used.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[ATM]: Use SEQ_START_TOKEN
Joe Perches [Thu, 10 Apr 2008 10:33:03 +0000 (03:33 -0700)]
[ATM]: Use SEQ_START_TOKEN

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[Syncookies]: Add support for TCP options via timestamps.
Florian Westphal [Thu, 10 Apr 2008 10:12:40 +0000 (03:12 -0700)]
[Syncookies]: Add support for TCP options via timestamps.

Allow the use of SACK and window scaling when syncookies are used
and the client supports tcp timestamps. Options are encoded into
the timestamp sent in the syn-ack and restored from the timestamp
echo when the ack is received.

Based on earlier work by Glenn Griffin.
This patch avoids increasing the size of structs by encoding TCP
options into the least significant bits of the timestamp and
by not using any 'timestamp offset'.

The downside is that the timestamp sent in the packet after the synack
will increase by several seconds.

changes since v1:
 don't duplicate timestamp echo decoding function, put it into ipv4/syncookie.c
 and have ipv6/syncookies.c use it.
 Feedback from Glenn Griffin: fix line indented with spaces, kill redundant if ()

Reviewed-by: Hagen Paul Pfeifer <hagen@jauu.net>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoIPV4: fib_trie use vmalloc for large tnodes
Stephen Hemminger [Thu, 10 Apr 2008 09:56:38 +0000 (02:56 -0700)]
IPV4: fib_trie use vmalloc for large tnodes

Use vmalloc rather than alloc_pages to avoid wasting memory.
The problem is that tnode structure has a power of 2 sized array,
plus a header. So the current code wastes almost half the memory
allocated because it always needs the next bigger size to hold
that small header.

This is similar to an earlier patch by Eric, but instead of a list
and lock, I used a workqueue to handle the fact that vfree can't
be done in interrupt context.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: Remove unused declarations in include/net/ip6_route.h.
Rami Rosen [Thu, 10 Apr 2008 09:31:20 +0000 (02:31 -0700)]
[IPV6]: Remove unused declarations in include/net/ip6_route.h.

1) Standlaone ip6_null_entry is no longer needed as it is replaced by
   the ip6_null_entry member of ipv6 (instance of struct netns_ipv6) in
   struct net (as a result of Network Namespaces patches).

2) These 3 methods from this same header are not defined anywhere:
   ip6_rt_addr_add(), ip6_rt_addr_del(), rt6_sndmsg()

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiucv: Delay bus registration until core is ready.
Cornelia Huck [Thu, 10 Apr 2008 09:12:45 +0000 (02:12 -0700)]
iucv: Delay bus registration until core is ready.

If we register the iucv bus after the infrastructure is ready,
userspace can start relying on it when it receives the uevent
for the bus.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiucv: get rid of in_atomic() use.
Heiko Carstens [Thu, 10 Apr 2008 09:12:03 +0000 (02:12 -0700)]
iucv: get rid of in_atomic() use.

This BUG_ON is not needed, since all (debug) checks are also done
in smp_call_function() which gets called by this function.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoaf_iucv: Use non-deprecated __RW_LOCK_UNLOCKED macro.
Robert P. J. Day [Thu, 10 Apr 2008 09:11:24 +0000 (02:11 -0700)]
af_iucv: Use non-deprecated __RW_LOCK_UNLOCKED macro.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SKFILTER]: Add SKF_ADF_NLATTR instruction
Patrick McHardy [Thu, 10 Apr 2008 09:02:28 +0000 (02:02 -0700)]
[SKFILTER]: Add SKF_ADF_NLATTR instruction

SKF_ADF_NLATTR searches for a netlink attribute, which avoids manually
parsing and walking attributes. It takes the offset at which to start
searching in the 'A' register and the attribute type in the 'X' register
and returns the offset in the 'A' register. When the attribute is not
found it returns zero.

A top-level attribute can be located using a filter like this
(example for nfnetlink, using struct nfgenmsg):

...
{
/* A = offset of first attribute */
.code = BPF_LD | BPF_IMM,
.k = sizeof(struct nlmsghdr) + sizeof(struct nfgenmsg)
},
{
/* X = CTA_PROTOINFO */
.code = BPF_LDX | BPF_IMM,
.k = CTA_PROTOINFO,
},
{
/* A = netlink attribute offset */
.code = BPF_LD | BPF_B | BPF_ABS,
.k = SKF_AD_OFF + SKF_AD_NLATTR
},
{
/* Exit if not found */
.code   = BPF_JMP | BPF_JEQ | BPF_K,
.k = 0,
.jt = <error>
},
...

A nested attribute below the CTA_PROTOINFO attribute would then
be parsed like this:

...
{
/* A += sizeof(struct nlattr) */
.code = BPF_ALU | BPF_ADD | BPF_K,
.k = sizeof(struct nlattr),
},
{
/* X = CTA_PROTOINFO_TCP */
.code = BPF_LDX | BPF_IMM,
.k = CTA_PROTOINFO_TCP,
},
{
/* A = netlink attribute offset */
.code = BPF_LD | BPF_B | BPF_ABS,
.k = SKF_AD_OFF + SKF_AD_NLATTR
},
...

The data of an attribute can be loaded into 'A' like this:

...
{
/* X = A (attribute offset) */
.code = BPF_MISC | BPF_TAX,
},
{
/* A = skb->data[X + k] */
.code  = BPF_LD | BPF_B | BPF_IND,
.k = sizeof(struct nlattr),
},
...

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6] Remove three method declarations in include/net/ndisc.h.
Rami Rosen [Thu, 10 Apr 2008 09:01:21 +0000 (02:01 -0700)]
[IPV6] Remove three method declarations in include/net/ndisc.h.

This patch removes two unused method declarations in
include/net/ndisc.h: ndisc_forwarding_on(void) and
ndisc_forwarding_off(void);

Also igmp6_cleanup(void) appears twice in this header, so one
igmp6_cleanup(void) declaration is removed.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoSCTP: Remove useless assignment from __sctp_rcv_lookup_endpoint
Gui Jianfeng [Thu, 10 Apr 2008 09:00:23 +0000 (02:00 -0700)]
SCTP: Remove useless assignment from __sctp_rcv_lookup_endpoint

Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoSCTP: fix wrong debug counting of bind_bucket
Li Zefan [Thu, 10 Apr 2008 08:58:06 +0000 (01:58 -0700)]
SCTP: fix wrong debug counting of bind_bucket

Should not count it if the allocation of the object
is failed.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoSCTP: fix wrong debug counting of datamsg
Li Zefan [Thu, 10 Apr 2008 08:57:24 +0000 (01:57 -0700)]
SCTP: fix wrong debug counting of datamsg

Should not count it if the allocation of this object
failed.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoIPV4: route rekey timer can be deferrable
Stephen Hemminger [Thu, 10 Apr 2008 08:55:27 +0000 (01:55 -0700)]
IPV4: route rekey timer can be deferrable

No urgency on the rehash interval timer, so mark it as deferrable.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoIPV4: route use jhash3
Stephen Hemminger [Thu, 10 Apr 2008 08:54:01 +0000 (01:54 -0700)]
IPV4: route use jhash3

Since route hash is a triple, use jhash_3words rather doing the mixing
directly. This should be as fast and give better distribution.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoIPV4: route inline changes
Stephen Hemminger [Thu, 10 Apr 2008 08:52:09 +0000 (01:52 -0700)]
IPV4: route inline changes

Don't mark functions that are large as inline, let compiler decide.
Also, use inline rather than __inline__.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosocket: sk_filter deinline
Stephen Hemminger [Thu, 10 Apr 2008 08:43:09 +0000 (01:43 -0700)]
socket: sk_filter deinline

The sk_filter function is too big to be inlined. This saves 2296 bytes
of text on allyesconfig.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosocket: sk_filter minor cleanups
Stephen Hemminger [Thu, 10 Apr 2008 08:33:47 +0000 (01:33 -0700)]
socket: sk_filter minor cleanups

Some minor style cleanups:
  * Move __KERNEL__ definitions to one place in filter.h
  * Use const for sk_filter_len
  * Line wrapping
  * Put EXPORT_SYMBOL next to function definition

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agomac80211: fix key debugfs default_key link
Johannes Berg [Tue, 8 Apr 2008 20:46:36 +0000 (16:46 -0400)]
mac80211: fix key debugfs default_key link

The default_key symlink points to the key index rather than
they key counter, fix it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agodrivers/net/wireless/p54/net2280.h: silence checkpatch.pl
Christian Lamparter [Tue, 8 Apr 2008 19:40:53 +0000 (15:40 -0400)]
drivers/net/wireless/p54/net2280.h: silence checkpatch.pl

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: move to separate directory
Christian Lamparter [Tue, 8 Apr 2008 19:38:00 +0000 (15:38 -0400)]
p54: move to separate directory

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: rename files
Johannes Berg [Tue, 8 Apr 2008 19:14:40 +0000 (15:14 -0400)]
mac80211: rename files

This patch renames all mac80211 files (except ieee80211_i.h) to get rid
of the useless ieee80211_ prefix.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix key vs. sta locking problems
Johannes Berg [Tue, 8 Apr 2008 15:56:52 +0000 (17:56 +0200)]
mac80211: fix key vs. sta locking problems

Up to now, key manipulation is supposed to run under RTNL to
avoid concurrent manipulations and also allow the set_key()
hardware callback to sleep. This is not feasible because STA
structs are rcu-protected and thus a lot of operations there
cannot take the RTNL. Also, key references are rcu-protected
so we cannot do things atomically.

This patch changes key locking completely:
 * key operations are now atomic
 * hardware crypto offload is enabled and disabled from
   a workqueue, due to that key freeing is also delayed
 * debugfs code is also run from a workqueue
 * keys reference STAs (and vice versa!) so during STA
   unlink the STAs key reference is removed but not the
   keys STA reference, to avoid races key todo work is
   run before STA destruction.
 * fewer STA operations now need the RTNL which was
   required due to key operations

This fixes the locking problems lockdep pointed out and also
makes things more light-weight because the rtnl isn't required
as much.

Note that the key todo lock/key mutex are global locks, this
is not required, of course, they could be per-hardware instead.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix sta-info pinning
Johannes Berg [Tue, 8 Apr 2008 11:08:20 +0000 (13:08 +0200)]
mac80211: fix sta-info pinning

When a STA is supposed to be unlinked but is pinned, it still needs
to be unlinked from all structures. Only at the end of the unlink
process should we check for pin status and invalidate the callers
reference if it is pinned. Move the pin status check down.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix defined but not used
Jiri Slaby [Mon, 7 Apr 2008 19:53:49 +0000 (21:53 +0200)]
mac80211: fix defined but not used

These two symbols are used only in ifdeffed function. Move them to that
section too.
net/mac80211/sta_info.c:387: warning: `__sta_info_pin' defined but not used
net/mac80211/sta_info.c:397: warning: `__sta_info_unpin' defined but not used

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Michael Wu <flamingice@sourmilk.net>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Jiri Benc <jbenc@suse.cz>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoadm8211: remove commented-out code
Pavel Machek [Mon, 7 Apr 2008 19:08:55 +0000 (21:08 +0200)]
adm8211: remove commented-out code

Remove some commented-out code from adm8211.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: BA session debug prints changes
Ron Rindjunsky [Mon, 7 Apr 2008 17:16:56 +0000 (10:16 -0700)]
mac80211: BA session debug prints changes

This patch contains next issues:
1 - prevents "stop BA session" multiple warnings
2 - adds debug print to stop Rx BA session flow
3 - adds EOL in one debug print

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: use b43_is_mode() call
Michael Buesch [Sat, 5 Apr 2008 13:19:36 +0000 (15:19 +0200)]
b43: use b43_is_mode() call

We must use the b43_is_mode() call to check the current interface
operation mode.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix PHY TX control words in SHM
Michael Buesch [Sat, 5 Apr 2008 13:05:00 +0000 (15:05 +0200)]
b43: Fix PHY TX control words in SHM

This fixes the initialization of the PHY TX control words in
shared memory. These control words are used for management frames
like beacons.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix beacon BH update
Michael Buesch [Sat, 5 Apr 2008 13:02:09 +0000 (15:02 +0200)]
b43: Fix beacon BH update

This fixes beacon updating in the bottomhalf.
In case the device is busy, we will defer to later in the IRQ handler.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: notify mac from low level driver (iwlwifi)
Mohamed Abbas [Fri, 4 Apr 2008 23:59:58 +0000 (16:59 -0700)]
mac80211: notify mac from low level driver (iwlwifi)

Add new API to MAC80211 to allow low level driver to
notify MAC with driver status.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix ieee80211_ioctl_giwrate
Johannes Berg [Fri, 4 Apr 2008 21:40:35 +0000 (23:40 +0200)]
mac80211: fix ieee80211_ioctl_giwrate

The ieee80211_ioctl_giwrate() ioctl handler doesn't rcu_read_lock()
its access to the sta table, fix it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: make debugfs files root-only
Johannes Berg [Fri, 4 Apr 2008 21:33:37 +0000 (23:33 +0200)]
mac80211: make debugfs files root-only

Unfortunately, debugfs can be made to access invalid memory by
open()ing a file and then waiting until the corresponding debugfs
file has been removed (and, probably, the underlying object.)

That could be exploited by any user if the user is able to open
debugfs files and can cause networking devices, STA entries or
similar to disappear which is quite easy to do.

Hence, all debugfs files should be root-only.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Beaconing fixes
Michael Buesch [Fri, 4 Apr 2008 19:40:06 +0000 (21:40 +0200)]
b43: Beaconing fixes

These are some beaconing related fixes. Basically it prevents
the card from triggering the beacon IRQ over and over again.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: honour regulatory restrictions in scan code
Johannes Berg [Fri, 4 Apr 2008 08:41:56 +0000 (10:41 +0200)]
iwlwifi: honour regulatory restrictions in scan code

When doing firmware-assisted scanning, iwlwifi drivers do not
honour the regulatory control code that might disable channels
that are enabled in the EEPROM, for example when the user is
visiting another country and adjusted the regulatory domain
accordingly. This patch fixes that.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: notify upper layers after lower
Reinette Chatre [Thu, 3 Apr 2008 23:08:49 +0000 (16:08 -0700)]
mac80211: notify upper layers after lower

When drivers receive change notification they may do work that
will enable the changes to take effect. For example, if new association
the device needs to be programmed with this information.
Give the driver chance to make the changes before notifying the
upper layer - thus preventing race condition where upper layer
attempts to utilize state that may not be configured yet.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix rfkill memory error
Mohamed Abbas [Thu, 3 Apr 2008 23:05:24 +0000 (16:05 -0700)]
iwlwifi: fix rfkill memory error

Do not free reference to device twice. After rfkill registration succeeds
we only need to call rfkill_unregister() and not rfkill_free().
Also add some debugging.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: ensure led registration complete as part of initialization
Reinette Chatre [Thu, 3 Apr 2008 23:05:23 +0000 (16:05 -0700)]
iwlwifi: ensure led registration complete as part of initialization

After the workqueue is notified the LED code may be accessed. Ensure
that LED registration completes completely as part of initialization
before anything waiting on this is notified.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: use ieee80211_frequency_to_channel
Tomas Winkler [Thu, 3 Apr 2008 23:05:22 +0000 (16:05 -0700)]
iwlwifi: use ieee80211_frequency_to_channel

This patch replaces ieee80211chan2mhz from radiotap with
ieee80211_frequency_to_channel provided by mac80211

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move driver status inliners into iwl-core.h
Tomas Winkler [Thu, 3 Apr 2008 23:05:21 +0000 (16:05 -0700)]
iwlwifi: move driver status inliners into iwl-core.h

This patch moves inline functions into iwl-core.h

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: hw names cleanup
Tomas Winkler [Thu, 3 Apr 2008 23:05:20 +0000 (16:05 -0700)]
iwlwifi: hw names cleanup

This patch make some cleanup in HW names

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Use lib->config_filter() during scheduled packet filter config
Ivo van Doorn [Thu, 3 Apr 2008 22:01:43 +0000 (00:01 +0200)]
rt2x00: Use lib->config_filter() during scheduled packet filter config

Now rt2x00lib handles the initial configure_filter() command, we can
directly call lib->config_filter() in scheduled context since the
called function will no longer check if anything has changed (which is
now handled in rt2x00lib as well).

This fixes a endless loop with USB drivers where the config_filter
command was scheduled time and time again without sending any command
to the device.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agocfg80211: default to regulatory max power for channel
John W. Linville [Thu, 3 Apr 2008 19:32:54 +0000 (15:32 -0400)]
cfg80211: default to regulatory max power for channel

If the driver does not specify a maximum power output, default to the
regulatory max.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix TBTT and PU timings
Michael Buesch [Thu, 3 Apr 2008 16:56:19 +0000 (18:56 +0200)]
b43: Fix TBTT and PU timings

This fixes some timings for pre-TBTT and synthetic PU.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add more N-PHY stuff
Michael Buesch [Thu, 3 Apr 2008 16:01:12 +0000 (18:01 +0200)]
b43: Add more N-PHY stuff

This adds some minor stuff for N-PHY support. Nothing special.
Adds Analog switching and some TODOs for RSSI processing.
Just a patch I had floating around for quite some time now.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: clean up IEEE80211_FC use
Johannes Berg [Thu, 3 Apr 2008 13:17:31 +0000 (15:17 +0200)]
mac80211: clean up IEEE80211_FC use

Really doesn't need to be defined four times.

Also, while at it, remove a useless macro (IEEE80211_ALIGN32_PAD)
and a function prototype for a function we don't actually have
(ieee80211_set_compression.)

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix possible sta-debugfs work lockup
Johannes Berg [Thu, 3 Apr 2008 12:31:05 +0000 (14:31 +0200)]
mac80211: fix possible sta-debugfs work lockup

Because we queue the sta-debugfs-adding work on our mac80211
workqueue (which needs to be flushed under RTNL) and that work
needs the RTNL, it can currently deadlock, thanks to Reinette
Chatre for pointing out the lockdep warning about this.

This patch fixes it by moving this work to the common kernel
workqueue (using schedule_work) and canceling it as appropriate.

It also fixes a related problem: When a STA is pinned by the
debugfs adding work and sta_info_flush() runs concurrently
it is not guaranteed that all STAs are removed from the driver
before the corresponding interface is removed which may lead
to bugs.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Use SSB block-I/O to do PIO
Michael Buesch [Wed, 2 Apr 2008 17:58:20 +0000 (19:58 +0200)]
b43: Use SSB block-I/O to do PIO

This changes the b43-PIO code to use the new SSB block-I/O.
This reduces the overhead by removing lots of function calls, pointer
dereferencing, if-conditionals any byteswapping for each packet data word.

This also fixes a harmless sparse endianness warning.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl4965: use IWLWIFI_LEDS config variable
Reinette Chatre [Wed, 2 Apr 2008 17:50:35 +0000 (10:50 -0700)]
iwl4965: use IWLWIFI_LEDS config variable

Fix error reported by Miles Lane <miles.lane@gmail.com>

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: Miles Lane <miles.lane@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Add support for block-I/O
Michael Buesch [Wed, 2 Apr 2008 17:46:56 +0000 (19:46 +0200)]
ssb: Add support for block-I/O

This adds support for block based I/O to SSB.
This is needed in order to efficiently support PIO data
transfers to the card.
The block-I/O support is only compiled, if it's selected by the
weird driver that needs it. So there's no overhead for sane devices.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agodrivers/net/wireless/iwlwifi/iwl-3945.h: correct CONFIG_IWL4965_LEDS typo
John W. Linville [Wed, 2 Apr 2008 15:35:32 +0000 (11:35 -0400)]
drivers/net/wireless/iwlwifi/iwl-3945.h: correct CONFIG_IWL4965_LEDS typo

Thakns to Winfried Tilanus <winfried@tilanus.com> for identifying the
problem!

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Fix build for non-PCIhost
Michael Buesch [Wed, 2 Apr 2008 15:03:26 +0000 (17:03 +0200)]
ssb: Fix build for non-PCIhost

This fixes a build error when PCMCIA-host support is built,
but PCI-host support is disabled.
Hell, who on earth would use such a weird configuration. :D

drivers/built-in.o: In function `ssb_attr_sprom_store':
(.text+0x1c4b79): undefined reference to `ssb_devices_freeze'
drivers/built-in.o: In function `ssb_attr_sprom_store':
(.text+0x1c4bb3): undefined reference to `ssb_devices_thaw'
make[1]: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: remove lbs_get_fwversion()
Holger Schurig [Wed, 2 Apr 2008 16:04:35 +0000 (18:04 +0200)]
libertas: remove lbs_get_fwversion()

It was used only at one place anyway.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: move lbs_update_channel out of assoc.c
Holger Schurig [Wed, 2 Apr 2008 14:52:19 +0000 (16:52 +0200)]
libertas: move lbs_update_channel out of assoc.c

... as it has nothing to do with pure association

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: move association code from scan.c into assoc.c
Holger Schurig [Wed, 2 Apr 2008 14:27:42 +0000 (16:27 +0200)]
libertas: move association code from scan.c into assoc.c

Besides code moving, I did the following changes:

* made some functions static
* removed some unneeded #include's
* made patch checkpatch.pl clean

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: move association code from join.c into scan.c
Holger Schurig [Wed, 2 Apr 2008 14:27:10 +0000 (16:27 +0200)]
libertas: move association code from join.c into scan.c

Besides code moving, I did the following changes:

* made some functions static
* removed some unneeded #include's
* made patch checkpatch.pl clean

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi/Kconfg: make IWLWIFI_LEDS invisible
John W. Linville [Wed, 2 Apr 2008 16:10:04 +0000 (12:10 -0400)]
iwlwifi/Kconfg: make IWLWIFI_LEDS invisible

Select IWLWIFI_LEDS automatically when either IWL3945_LEDS or
IWL4965_LEDS is selected.  This avoids potential misconfigurations
which lead to build failures for iwl-led.c.

Cc: Miles Lane <miles.lane@gmail.com>
Cc: reinette.chatre@intel.com
Signed-off-by: John w. Linville <linville@tuxdriver.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix some warnings
Johannes Berg [Tue, 1 Apr 2008 15:51:47 +0000 (17:51 +0200)]
iwlwifi: fix some warnings

This fixes all kinds of warnings in iwlwifi.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agodrivers/net/wireless/iwlwifi/iwl-debugfs.c: fix another '%llu' warning
John W. Linville [Wed, 2 Apr 2008 00:59:32 +0000 (20:59 -0400)]
drivers/net/wireless/iwlwifi/iwl-debugfs.c: fix another '%llu' warning

drivers/net/wireless/iwlwifi/iwl-debugfs.c: In function ‘iwl_dbgfs_stations_read’:
drivers/net/wireless/iwlwifi/iwl-debugfs.c:247: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 4 has type ‘u64’

Cc: Reinette Chatre <reinette.chatre@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add station aid into ieee80211_tx_control
Chr [Tue, 1 Apr 2008 19:45:18 +0000 (21:45 +0200)]
mac80211: add station aid into ieee80211_tx_control

This patch is necessary for the upcoming Accesspoint patch for p54.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agowavelan_cs: stop inlining largish static functions
Denys Vlasenko [Tue, 1 Apr 2008 00:56:32 +0000 (02:56 +0200)]
wavelan_cs: stop inlining largish static functions

Hi John,

Can you please take a look at this patch?

drivers/net/wireless/wavelan_cs.c has unusually large number
of static inline functions - 27.

I looked through them and 20 of them do not seem to warrant inlining.
Some are really big; others call mdelay(1) or busy-wait for a bit
to be set in a hardware register - it's pointless
to optimize such functions for speed.

This patch removes "inline" from these static function
(regardless of number of callsites - gcc nowadays auto-inlines
statics with one callsite).

Size difference for 32bit x86:

   text    data     bss     dec     hex filename
  17020     372       8   17400    43f8 linux-2.6-ALLYES/drivers/net/wireless/wavelan_cs.o
  14032     356       8   14396    383c linux-2.6.inline-ALLYES/drivers/net/wireless/wavelan_cs.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoprism54: set carrier flags correctly
Luis R. Rodriguez [Tue, 1 Apr 2008 19:17:36 +0000 (15:17 -0400)]
prism54: set carrier flags correctly

> prism54 should set the carrier flags correctly when it thinks the
> link can be used.

Agreed, so sure, this is OK but I rather we turn the carrier on
or off *before* sending an event, like this.

Signed-off-by: Roy Marples <uberlord@gentoo.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Turn suspend/resume upside down
Michael Buesch [Sat, 29 Mar 2008 23:10:50 +0000 (00:10 +0100)]
ssb: Turn suspend/resume upside down

Turn the SSB bus suspend mechanism upside down.
Instead of deciding by an internal reference count when to suspend/resume,
let the parent bus call us in their suspend/resume routine.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add PIO support for PCMCIA devices
Michael Buesch [Sat, 29 Mar 2008 20:01:16 +0000 (21:01 +0100)]
b43: Add PIO support for PCMCIA devices

This adds PIO support back (D'oh!) for PCMCIA devices.
This is a complete rewrite of the old PIO code. It does actually work
and we get reasonable performance out of it on a modern machine.
On a PowerBook G4 I get a few MBit for TX and a few more for RX.
So it doesn't work as well as DMA (of course), but it's a _lot_ faster
than the old PIO code (only got a few kBit with that).

The limiting factor is the host CPU speed. So it will generate 100%
CPU usage when the network interface is heavily loaded. A voluntary preemption
point in the RX path makes sure Desktop Latency isn't hurt.

PIO is needed for 16bit PCMCIA devices, as we really don't want to poke with
the braindead DMA mechanisms on PCMCIA sockets. Additionally, not all
PCMCIA sockets do actually support DMA in 16bit mode (mine doesn't).

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Eliminate association from beacon
Tomas Winkler [Fri, 28 Mar 2008 23:33:35 +0000 (16:33 -0700)]
iwlwifi: Eliminate association from beacon

This patch removes association from beacon
using bss_info_change handler for association

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add association capabilty and timing info into bss_conf
Tomas Winkler [Fri, 28 Mar 2008 23:33:34 +0000 (16:33 -0700)]
mac80211: add association capabilty and timing info into bss_conf

This patch adds assocation capability, timestamp (tsf) and beacon interval
to bss_conf. This is required for successful assocation of iwlwifi drivers

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: eliminate conf_ht
Tomas Winkler [Fri, 28 Mar 2008 23:33:33 +0000 (16:33 -0700)]
iwlwifi: eliminate conf_ht

This patch eliminates the use of conf_ht in iwlwifi driver, replacing it
with bss_info_changed.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: eliminate conf_ht
Tomas Winkler [Fri, 28 Mar 2008 23:33:32 +0000 (16:33 -0700)]
mac80211: eliminate conf_ht

This patch eliminates the use of conf_ht, replacing it with
bss_info_changed.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb-pcmcia: IRQ and DMA related fixes
Michael Buesch [Fri, 28 Mar 2008 09:34:55 +0000 (10:34 +0100)]
ssb-pcmcia: IRQ and DMA related fixes

Here come some IRQ and DMA related fixes for the ssb PCMCIA-host code.
Not much to say, actually. I think the patch explains itself.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoRevert "mac80211: use a struct for bss->mesh_config"
John W. Linville [Tue, 8 Apr 2008 18:15:46 +0000 (14:15 -0400)]
Revert "mac80211: use a struct for bss->mesh_config"

This reverts commit 6c4711b4697d93424e4b1f76a9929ba844d714a5.

That patch breaks mesh config comparison between beacons/probe reponses, so
every beacon from a mesh network would be added as a new bss. Since the
comparison has to be performed for every received beacon I believe it is best to
save the mesh config in a format easy to compare, rather than do a bunch of
unaligned accesses to compare field by field.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoMerge branch 'net-2.6.26-isatap-20080403' of git://git.linux-ipv6.org/gitroot/yoshfuj...
David S. Miller [Tue, 8 Apr 2008 09:33:36 +0000 (02:33 -0700)]
Merge branch 'net-2.6.26-isatap-20080403' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev

16 years ago[IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb->tail.
YOSHIFUJI Hideaki [Sat, 5 Apr 2008 13:17:39 +0000 (22:17 +0900)]
[IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb->tail.

This bug resulted in compilation error on 64bit machines.
Pointed out by Rami Rosen <roszenrami@gmail.com>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Comment MRT6_xxx sockopts in include/linux/in6.h.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:56 +0000 (09:22 +0900)]
[IPV6]: Comment MRT6_xxx sockopts in include/linux/in6.h.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] MROUTE: Support PIM-SM (SSM).
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:54 +0000 (09:22 +0900)]
[IPV6] MROUTE: Support PIM-SM (SSM).

Based on ancient patch by Mickael Hoerdt
<hoerdt@clarinet.u-strasbg.fr>, which is available at
<http://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] MROUTE: Support multicast forwarding.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:53 +0000 (09:22 +0900)]
[IPV6] MROUTE: Support multicast forwarding.

Based on ancient patch by Mickael Hoerdt
<hoerdt@clarinet.u-strasbg.fr>, which is available at
<http://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV4] MROUTE: Adjust include files for user-space.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:52 +0000 (09:22 +0900)]
[IPV4] MROUTE: Adjust include files for user-space.

<linux/mroute.h> needs <linux/types.h>.
Avoid including <linux/in.h> in user-space, which conflicts with
standard <netinet/in.h>.
Add basic struct and constant in <linux/pim.h>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV4] MROUTE: Move PIM definitions to <linux/pim.h>.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:09 +0000 (09:22 +0900)]
[IPV4] MROUTE: Move PIM definitions to <linux/pim.h>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] ADDRCONF: Fix array size for sysctls.
YOSHIFUJI Hideaki [Mon, 24 Mar 2008 15:25:11 +0000 (00:25 +0900)]
[IPV6] ADDRCONF: Fix array size for sysctls.

We have been using __NET_IPV6_MAX for adjusting the size of array
for sysctl table, but it does not work any longer because of the
deprecation of NET_IPV6_xxx constants.  Let's use DEVCONF_MAX
instead.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[ATM] drivers/atm/ambassador.c: stop inlining largish static functions
Denys Vlasenko [Thu, 3 Apr 2008 21:59:55 +0000 (14:59 -0700)]
[ATM] drivers/atm/ambassador.c: stop inlining largish static functions

drivers/atm/ambassador.c has unusually large number
of static inline functions - 22.

I looked through them and half of them seem to be too big
to warrant inlining.

This patch removes "inline" from these static functions
(regardless of number of callsites - gcc nowadays auto-inlines
statics with one callsite).

Size difference for 32bit x86:
   text    data     bss     dec     hex filename
  10209    8488       4   18701    490d linux-2.6-ALLYES/drivers/atm/ambassador.o
   9462    8488       4   17954    4622 linux-2.6.inline-ALLYES/drivers/atm/ambassador.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Thu, 3 Apr 2008 21:33:42 +0000 (14:33 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/davem/net-2.6

16 years ago[NETNS]: Use TCP control socket from a correct namespace.
Denis V. Lunev [Thu, 3 Apr 2008 21:32:00 +0000 (14:32 -0700)]
[NETNS]: Use TCP control socket from a correct namespace.

Signed-off-by: Denis V.Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Create tcp control socket in the each namespace.
Denis V. Lunev [Thu, 3 Apr 2008 21:31:33 +0000 (14:31 -0700)]
[NETNS]: Create tcp control socket in the each namespace.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: Simplify IPv6 control sockets creation.
Denis V. Lunev [Thu, 3 Apr 2008 21:31:03 +0000 (14:31 -0700)]
[IPV6]: Simplify IPv6 control sockets creation.

Do this by replacing sock_create_kern with inet_ctl_sock_create.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[INET]: uc_ttl assignment in inet_ctl_sock_create is redundant.
Denis V. Lunev [Thu, 3 Apr 2008 21:30:12 +0000 (14:30 -0700)]
[INET]: uc_ttl assignment in inet_ctl_sock_create is redundant.

uc_ttl is initialized in inet(6)_create and never changed except
setsockopt ioctl. Remove this assignment.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[ICMP]: Simplify ICMP control socket creation.
Denis V. Lunev [Thu, 3 Apr 2008 21:29:00 +0000 (14:29 -0700)]
[ICMP]: Simplify ICMP control socket creation.

Replace sock_create_kern with inet_ctl_sock_create.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Inet control socket should not hold a namespace.
Denis V. Lunev [Thu, 3 Apr 2008 21:28:30 +0000 (14:28 -0700)]
[NETNS]: Inet control socket should not hold a namespace.

This is a generic requirement, so make inet_ctl_sock_create namespace
aware and create a inet_ctl_sock_destroy wrapper around
sk_release_kernel.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[INET]: Let inet_ctl_sock_create return sock rather than socket.
Denis V. Lunev [Thu, 3 Apr 2008 21:27:58 +0000 (14:27 -0700)]
[INET]: Let inet_ctl_sock_create return sock rather than socket.

All upper protocol layers are already use sock internally.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SCTP]: Replace socket with sock for SCTP control socket.
Denis V. Lunev [Thu, 3 Apr 2008 21:27:26 +0000 (14:27 -0700)]
[SCTP]: Replace socket with sock for SCTP control socket.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SCTP]: Use inet_ctl_sock_create for control socket creation.
Denis V. Lunev [Thu, 3 Apr 2008 21:26:36 +0000 (14:26 -0700)]
[SCTP]: Use inet_ctl_sock_create for control socket creation.

sk->sk_proc->(un)hash is noop right now, so the unification is correct.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create.
Denis V. Lunev [Thu, 3 Apr 2008 21:22:32 +0000 (14:22 -0700)]
[INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create.

This call is nothing common with INET connection sockets code. It
simply creates an unhashes kernel sockets for protocol messages.

Move the new call into af_inet.c after the rename.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[DCCP]: dccp_v(4|6)_ctl_socket is leaked.
Denis V. Lunev [Thu, 3 Apr 2008 21:21:33 +0000 (14:21 -0700)]
[DCCP]: dccp_v(4|6)_ctl_socket is leaked.

This seems a purism as module can't be unloaded, but though if cleanup
method is present it should be correct and clean all staff created.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[DCCP]: Replace socket with sock for reset sending.
Denis V. Lunev [Thu, 3 Apr 2008 21:20:52 +0000 (14:20 -0700)]
[DCCP]: Replace socket with sock for reset sending.

Replace dccp_v(4|6)_ctl_socket with sock to unify a code with TCP/ICMP.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TCP]: Replace socket with sock for reset sending.
Denis V. Lunev [Thu, 3 Apr 2008 21:19:38 +0000 (14:19 -0700)]
[TCP]: Replace socket with sock for reset sending.

Replace tcp_socket with tcp_sock. This is more effective (less
derefferences on fast paths). Additionally, the approach is unified to
one used in ICMP.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Declare init_net even without CONFIG_NET defined.
Denis V. Lunev [Thu, 3 Apr 2008 20:04:33 +0000 (13:04 -0700)]
[NETNS]: Declare init_net even without CONFIG_NET defined.

This does not look good, but there is no other choice. The compilation
without CONFIG_NET is broken and can not be fixed with ease.

After that there is no need for the following commits:
1567ca7eec7664b8be3b07755ac59dc1b1ec76cb
3edf8fa5ccf10688a9280b5cbca8ed3947c42866
2d38f9a4f8d2ebdc799f03eecf82345825495711

Revert them.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>