openwrt/staging/blogic.git
16 years ago[IPV6] NDISC: Don't rely on node-type hint from L2 unless required.
YOSHIFUJI Hideaki [Sun, 16 Mar 2008 03:59:18 +0000 (23:59 -0400)]
[IPV6] NDISC: Don't rely on node-type hint from L2 unless required.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Unify ip6_onlink() and ipip6_onlink().
YOSHIFUJI Hideaki [Sun, 16 Mar 2008 02:54:23 +0000 (22:54 -0400)]
[IPV6]: Unify ip6_onlink() and ipip6_onlink().

Both are identical, let's create ipv6_chk_prefix() and use it
in both places.

16 years ago[IPV6] NDISC: Ignore route information with /0 prefix from interior router.
YOSHIFUJI Hideaki [Sun, 16 Mar 2008 03:56:52 +0000 (23:56 -0400)]
[IPV6] NDISC: Ignore route information with /0 prefix from interior router.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] SIT: Add SIOCGETPRL ioctl to get/dump PRL.
YOSHIFUJI Hideaki [Mon, 24 Mar 2008 09:28:39 +0000 (18:28 +0900)]
[IPV6] SIT: Add SIOCGETPRL ioctl to get/dump PRL.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] SIT: Disallow 0.0.0.0 in PRL and Flush PRL if given for DEL.
YOSHIFUJI Hideaki [Sat, 22 Mar 2008 08:50:59 +0000 (17:50 +0900)]
[IPV6] SIT: Disallow 0.0.0.0 in PRL and Flush PRL if given for DEL.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] SIT: Fix locking issues in PRL management.
YOSHIFUJI Hideaki [Sat, 22 Mar 2008 08:42:57 +0000 (17:42 +0900)]
[IPV6] SIT: Fix locking issues in PRL management.

To protect PRL list, use ipip6_lock.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] SIT: Add PRL management for ISATAP.
Templin, Fred L [Tue, 11 Mar 2008 22:35:59 +0000 (18:35 -0400)]
[IPV6] SIT: Add PRL management for ISATAP.

This patch updates the Linux the Intra-Site Automatic Tunnel Addressing
Protocol (ISATAP) implementation. It places the ISATAP potential router
list (PRL) in the kernel and adds three new private ioctls for PRL
management.

[Add several changes of structure name, constant names etc. - yoshfuji]

Signed-off-by: Fred L. Templin <fred.l.templin@boeing.com>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] RAW: Remove ancient comment.
YOSHIFUJI Hideaki [Wed, 2 Apr 2008 06:57:36 +0000 (23:57 -0700)]
[IPV6] RAW: Remove ancient comment.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowireless: fix various printk warnings on ia64 (and others)
John W. Linville [Tue, 1 Apr 2008 21:38:47 +0000 (17:38 -0400)]
wireless: fix various printk warnings on ia64 (and others)

drivers/net/wireless/ath5k/base.c: In function `ath5k_check_ibss_tsf':
drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 5)
drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 6)
drivers/net/wireless/ath5k/base.c:1740: warning: long long int format, u64 arg (arg 7)
drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 8)
drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 5)
drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 6)
drivers/net/wireless/iwlwifi/iwl4965-base.c: In function `iwl4965_tx_status_reply_tx':
drivers/net/wireless/iwlwifi/iwl4965-base.c:3105: warning: long long unsigned int format, u64 arg (arg 6)
drivers/net/wireless/iwlwifi/iwl-4965.c: In function `iwl4965_rx_reply_rx':
drivers/net/wireless/iwlwifi/iwl-4965.c:3978: warning: long long unsigned int format, u64 arg (arg 7)

Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: use a struct for bss->mesh_config
Luis Carlos Cobo [Tue, 1 Apr 2008 00:39:18 +0000 (17:39 -0700)]
mac80211: use a struct for bss->mesh_config

This allows cleaner code when accesing bss->mesh_config components.

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: check for mesh_config length on incoming management frames
Luis Carlos Cobo [Mon, 31 Mar 2008 23:00:13 +0000 (16:00 -0700)]
mac80211: check for mesh_config length on incoming management frames

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: use recent multicast table for all mesh multicast frames
Luis Carlos Cobo [Mon, 31 Mar 2008 22:33:39 +0000 (15:33 -0700)]
mac80211: use recent multicast table for all mesh multicast frames

...not only broadcast.

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix spinlock recursion on sta expiration
Luis Carlos Cobo [Mon, 31 Mar 2008 22:21:23 +0000 (15:21 -0700)]
mac80211: fix spinlock recursion on sta expiration

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix deadlocks in debugfs_netdev.c
Luis Carlos Cobo [Mon, 31 Mar 2008 22:10:22 +0000 (15:10 -0700)]
mac80211: fix deadlocks in debugfs_netdev.c

The bug shows up with CONFIG_PREEMPT enabled. Pointed out by Andrew Morton.

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix sparse complaint in ieee80211_sta_def_wmm_params
Johannes Berg [Mon, 31 Mar 2008 17:23:04 +0000 (19:23 +0200)]
mac80211: fix sparse complaint in ieee80211_sta_def_wmm_params

A variable 'i' is being shadowed by another one, but the second
one can just be removed.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Vladimir Koutny <vlado@work.ksp.sk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: sta_info_flush() fixes
Johannes Berg [Mon, 31 Mar 2008 17:23:03 +0000 (19:23 +0200)]
mac80211: sta_info_flush() fixes

When the IBSS code tries to flush the STA list, it does so in
an atomic context. Flushing isn't safe there, however, and
requires the RTNL, so we need to defer it to a workqueue.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: clean up sta_info_destroy() users wrt. RCU/locking
Johannes Berg [Mon, 31 Mar 2008 17:23:02 +0000 (19:23 +0200)]
mac80211: clean up sta_info_destroy() users wrt. RCU/locking

Calling sta_info_destroy() doesn't require RCU-synchronisation
before-hand because it does that internally. However, it does
require rtnl-locking so insert that where necessary.

Also clean up the code doing it internally to be a bit clearer and
not synchronize twice if keys are configured.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: automatically free sta struct when insertion fails
Johannes Berg [Tue, 1 Apr 2008 13:21:00 +0000 (15:21 +0200)]
mac80211: automatically free sta struct when insertion fails

When STA structure insertion fails, it has been allocated but isn't
really alive yet, it isn't reachable by any other code and also can't
yet have much configured. This patch changes the code so that when
the insertion fails, the resulting STA pointer is no longer valid
because it is freed.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix sta_info_destroy(NULL)
Johannes Berg [Mon, 31 Mar 2008 17:23:00 +0000 (19:23 +0200)]
mac80211: fix sta_info_destroy(NULL)

sta_info_destroy(NULL) should be valid, but currently isn't because
the argument is dereferenced before the NULL check. There are no
users that currently pass in NULL, i.e. all check before calling the
function, but I want to change that.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211 ibss: flush only stations belonging to current interface
Johannes Berg [Mon, 31 Mar 2008 17:22:59 +0000 (19:22 +0200)]
mac80211 ibss: flush only stations belonging to current interface

When joining a new IBSS, all old stations are flushed, but currently
all stations belonging to all virtual interfaces are flushed, which
is wrong. This patch fixes it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Remove MAC80211_LEDS dependency
Ivo van Doorn [Mon, 31 Mar 2008 13:53:44 +0000 (15:53 +0200)]
rt2x00: Remove MAC80211_LEDS dependency

Implement triggers inside rt2x00 itself based
on input from mac80211. This replaces the method
of using the mac80211 trigger events which do
not work for USB drivers due to the scheduling
requirement.

After this patch RT2500USB_LEDS and RT73USB_LEDS
no longer need to be tagged as broken since they
now support LED handling again without having to
check for in_atomic().

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: TO_DS filter depends on intf_ap_count
Ivo van Doorn [Mon, 31 Mar 2008 13:24:53 +0000 (15:24 +0200)]
rt2x00: TO_DS filter depends on intf_ap_count

The TO_DS filter does not only depend on the FIF_PROMISC_IN_BSS flag
provided by mac80211, but also on the intf_ap_count count.
This makes sense, since when Master mode is active, we should all frames
that are send to the active AP (the device itself).

This means that when an interface is added we should force the
packet filter to be updated during the next mac80211 call of
configure_filter() to make sure the intf_ap_count field is checked.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Invert scheduled packet_filter check
Ivo van Doorn [Sat, 29 Mar 2008 14:59:01 +0000 (15:59 +0100)]
rt2x00: Invert scheduled packet_filter check

Invert the check for scheduling the packet_filter configuration.
When DRIVER_REQUIRE_SCHEDULED is not set we should immediately
configure the the filter.

This fixes the 'infinite calls to rt2x00mc_configure_filter'
bug reported by Bas Hulsken.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Fix synchronous host command
Tomas Winkler [Fri, 28 Mar 2008 23:21:12 +0000 (16:21 -0700)]
iwlwifi: Fix synchronous host command

This patch replaces static variable from send_cmd_sync
with flag in priv->status. It was used for reentrance protection
but clearly made it impossible to stuck more cards into the same machine

In addition it force check of return values of synchronous commands
commands that doesn't requires return value async commands have to be used

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Yi Zhu <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: LED initialize before registering
Tomas Winkler [Fri, 28 Mar 2008 23:21:11 +0000 (16:21 -0700)]
iwlwifi: LED initialize before registering

This patch initialize all fields in led before registering it
This fixes oops on initialization

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: unregister to upper stack before releasing resources
Ron Rindjunsky [Fri, 28 Mar 2008 23:21:10 +0000 (16:21 -0700)]
iwlwifi: unregister to upper stack before releasing resources

This patch fixes an early release of driver's resources before upper stack
was notified that low-level driver shuts down.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move rate registration to module load
Reinette Chatre [Fri, 28 Mar 2008 23:21:09 +0000 (16:21 -0700)]
iwlwifi: move rate registration to module load

Having rate registration during module load enables the use of
error checking as well as reliable registration/unregistration
pairing. Previously this was not possible as rate registration
was done during _probe where _probe could be run for more than
one device on the system.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix race condition during driver unload
Mohamed Abbas [Fri, 28 Mar 2008 23:21:08 +0000 (16:21 -0700)]
iwlwifi: fix race condition during driver unload

This patch fixed the OOPS when load the driver while rf-kill is on then
unload the driver right after load. a race condition caused the interupt
handler to schedule the tasklet which will run right after the driver pci_remove
causing invalid poiter OOPS.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: hook iwlwifi with Linux rfkill
Mohamed Abbas [Fri, 28 Mar 2008 23:21:06 +0000 (16:21 -0700)]
iwlwifi: hook iwlwifi with Linux rfkill

This patch hook IWL with Linux rfkill.

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: add notification infrastructure to iwlcore
Mohamed Abbas [Fri, 28 Mar 2008 23:21:05 +0000 (16:21 -0700)]
iwlwifi: add notification infrastructure to iwlcore

This patch add notification function to be called by low level
iwl driver to notify iwlcore with current state. This function
will call iwlcore subsystem with the new state. This will
help make the code more consistent and easy to extend. For example
the rf-kill need to know when the driver in init, start, stop or
remove state. Instead doing the same call in 3945 and 4965, we
just do it from this function.

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 agonet/mac80211/debugfs_netdev.c: use of bool triggers a gcc bug
Andrew Morton [Fri, 28 Mar 2008 06:25:27 +0000 (23:25 -0700)]
net/mac80211/debugfs_netdev.c: use of bool triggers a gcc bug

This bool causes my gcc-4.1.0 alpha cross compiler to go into an infinite
loop.  Switching it to u8 works around that.

Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: fixup some non-functional merge errors
John W. Linville [Thu, 27 Mar 2008 23:54:13 +0000 (19:54 -0400)]
rt2x00: fixup some non-functional merge errors

These small changes restore the rt2x00 sources to the way Ivo intended.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: don't depend on IEEE80211
Holger Schurig [Wed, 26 Mar 2008 16:56:26 +0000 (17:56 +0100)]
libertas: don't depend on IEEE80211

Runtime-wise we only need escape_ssid from the deprecated IEEE80211
subsystem. However, it's easy to provide our own copy.

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: convert sleep/wake config direct commands
Holger Schurig [Wed, 26 Mar 2008 12:22:11 +0000 (13:22 +0100)]
libertas: convert sleep/wake config direct commands

Confirm sleep event: they come very regularly, eventually several times per
second. Therefore we want to send the config command as fast as possible.
The old code pre-set the command in priv->lbs_ps_confirm_sleep. However, the
byte sequence to be sent to the hardware is the same for all interfaces. So
this patch make this an extern structure, initialized at module load time.

Config wake event: normal conversion to a direct command. However, I don't know
how to trigger a "HOST AWAKE" event from the firmware, so this part is
untested.

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: convert CMD_802_11_EEPROM_ACCESS to a direct command
Holger Schurig [Wed, 26 Mar 2008 09:03:48 +0000 (10:03 +0100)]
libertas: convert CMD_802_11_EEPROM_ACCESS to a direct command

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: convert CMD_802_11_MAC_ADDRESS to a direct command
Holger Schurig [Wed, 26 Mar 2008 08:58:32 +0000 (09:58 +0100)]
libertas: convert CMD_802_11_MAC_ADDRESS to a direct command

* directly call lbs_cmd_with_response()
* only overwrite priv->current_addr once the firmware call succeeded

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 agoendianness annotations: drivers/net/wireless/rtl8180_dev.c
Al Viro [Sun, 16 Mar 2008 22:43:06 +0000 (22:43 +0000)]
endianness annotations: drivers/net/wireless/rtl8180_dev.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years ago[IPV6][NETNS]: Display per-net info in sockstat6 file.
Pavel Emelyanov [Tue, 1 Apr 2008 02:43:43 +0000 (19:43 -0700)]
[IPV6][NETNS]: Display per-net info in sockstat6 file.

Do with the sockstat6 file what we've already done for the sockstat.
Same good side effect - ipv6 reassembling stats are now shown per-net.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV4][NETNS]: Display per-net info in sockstat file.
Pavel Emelyanov [Tue, 1 Apr 2008 02:43:18 +0000 (19:43 -0700)]
[IPV4][NETNS]: Display per-net info in sockstat file.

Besides, now we can see per-net fragments statistics in the
same file, since this stats is already per-net.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOCK][NETNS]: Register sockstat(6) files in each net.
Pavel Emelyanov [Tue, 1 Apr 2008 02:42:37 +0000 (19:42 -0700)]
[SOCK][NETNS]: Register sockstat(6) files in each net.

Currently they live in init_net only, but now almost all the info
they can provide is available per-net.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOCK][NETNS]: Add the percpu prot_inuse counter in the struct net.
Pavel Emelyanov [Tue, 1 Apr 2008 02:42:16 +0000 (19:42 -0700)]
[SOCK][NETNS]: Add the percpu prot_inuse counter in the struct net.

Such an accounting would cost us two more dereferences to get the
percpu variable from the struct net, so I make sock_prot_inuse_get
and _add calls work differently depending on CONFIG_NET_NS - without
it old optimized routines are used.

The per-cpu counter for init_net is prepared in core_initcall, so
that even af_inet, that starts as fs_initcall, will already have the
init_net prepared.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOCK][NETNS]: Add a struct net argument to sock_prot_inuse_add and _get.
Pavel Emelyanov [Tue, 1 Apr 2008 02:41:46 +0000 (19:41 -0700)]
[SOCK][NETNS]: Add a struct net argument to sock_prot_inuse_add and _get.

This counter is about to become per-proto-and-per-net, so we'll need
two arguments to determine which cell in this "table" to work with.

All the places, but proc already pass proper net to it - proc will be
tuned a bit later.

Some indentation with spaces in proc files is done to keep the file
coding style consistent.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Introduce a netns_core structure.
Pavel Emelyanov [Tue, 1 Apr 2008 02:41:14 +0000 (19:41 -0700)]
[NETNS]: Introduce a netns_core structure.

There's already some stuff on the struct net, that should better
be folded into netns_core structure. I'm making the per-proto inuse
counter be per-net also, which is also a candidate for this, so
introduce this structure and populate it a bit.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Fix allnoconfig build on powerpc and avr32
David S. Miller [Mon, 31 Mar 2008 07:28:14 +0000 (00:28 -0700)]
[NET]: Fix allnoconfig build on powerpc and avr32

As reported by Haavard Skinnemoen and Stephen Rothwell:

> allnoconfig fails with
>
> include/linux/netdevice.h:843: error: implicit declaration of function 'dev_net'
>
> which seems to be because the definition of dev_net is inside #ifdef
> CONFIG_NET, while next_net_device, which calls it, is not.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Sat, 29 Mar 2008 02:48:26 +0000 (19:48 -0700)]
Merge branch 'upstream-net26' of /linux/kernel/git/jgarzik/netdev-2.6

16 years agoe1000e: reorganize PHY and flow control interface
Jeff Kirsher [Fri, 28 Mar 2008 16:15:16 +0000 (09:15 -0700)]
e1000e: reorganize PHY and flow control interface

This reorganization moves the PHY status into a separate
struct. Flow Control setup is moved into this struct as well
and frame size away from here into the adapter struct where its
inly use is.

The post-link-up code is now a separate function and moved out
of the watchdog function itself. This allows us to track the
es2lan restart issue a bit easier.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000e: rename mc_addr_list_update
Jeff Kirsher [Fri, 28 Mar 2008 16:15:11 +0000 (09:15 -0700)]
e1000e: rename mc_addr_list_update

Rename this function to be consistent with function naming (verb first)

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000e: reformat comment blocks, cosmetic changes only
Bruce Allan [Fri, 28 Mar 2008 16:15:03 +0000 (09:15 -0700)]
e1000e: reformat comment blocks, cosmetic changes only

Adjusting the comment blocks here to be code-style compliant. no
code changes.

Changed some copyright dates to 2008.

Indentation fixes.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoCompilation fix for ixgbe_main.c.
Denis V. Lunev [Thu, 27 Mar 2008 11:39:17 +0000 (14:39 +0300)]
Compilation fix for ixgbe_main.c.

Under CONFIG_DCA the compilation is broken since the commit
bd0362dde080cef377d99fa5beb5c25308c29c73 (ixgbe: Add optional
DCA infrastructure).

IXGBE_SUCCESS is not defined anywhere, replace it with 0.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonet: yellowfin parenthesis fix
Mariusz Kozlowski [Fri, 28 Mar 2008 21:41:29 +0000 (14:41 -0700)]
net: yellowfin parenthesis fix

The code is under unused #ifdef NO_TXSTATS branch but its better to have it
fixed.

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonetdev: ehea: port_lock semaphore to mutex
Daniel Walker [Fri, 28 Mar 2008 21:41:28 +0000 (14:41 -0700)]
netdev: ehea: port_lock semaphore to mutex

Convert the port_lock to a mutex.  There is also some additional cleanup.  The
line length inside the ehea_rereg_mrs was getting long so I made some
adjustments to shorten them.

[akpm@linux-foundation.org: dec99ification]
Signed-off-by: Daniel Walker <dwalker@mvista.com>
Cc: Christoph Raisch <raisch@de.ibm.com>
Cc: Jan-Bernd Themann <themann@de.ibm.com>
Cc: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonetdev: ehea: bcmc_regs semaphore to mutex
Daniel Walker [Fri, 28 Mar 2008 21:41:28 +0000 (14:41 -0700)]
netdev: ehea: bcmc_regs semaphore to mutex

Convert the ehea_bcmc_regs.lock to a mutex.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Cc: Christoph Raisch <raisch@de.ibm.com>
Cc: Jan-Bernd Themann <themann@de.ibm.com>
Cc: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonetdev: ehea: locking order correction
Daniel Walker [Fri, 28 Mar 2008 21:41:27 +0000 (14:41 -0700)]
netdev: ehea: locking order correction

Nested locks always need to be taken in the same order.  This change factors
out the ehea_fw_handles.lock to make the locking order consistent.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Cc: Christoph Raisch <raisch@de.ibm.com>
Cc: Jan-Bernd Themann <themann@de.ibm.com>
Cc: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonetdev: ehea: ehea_fw_handles semaphore to mutex
Daniel Walker [Fri, 28 Mar 2008 21:41:26 +0000 (14:41 -0700)]
netdev: ehea: ehea_fw_handles semaphore to mutex

Converted the ehea_fw_handles.lock to a mutex.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Cc: Christoph Raisch <raisch@de.ibm.com>
Cc: Jan-Bernd Themann <themann@de.ibm.com>
Cc: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonetdev: ehea: semaphore to mutex
Daniel Walker [Fri, 28 Mar 2008 21:41:26 +0000 (14:41 -0700)]
netdev: ehea: semaphore to mutex

Converted the dlpar_mem_lock.  With a bit of cleanup, I converted to
DEFINE_MUTEX() instead of a runtime init.  I also made the lock static.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Cc: Christoph Raisch <raisch@de.ibm.com>
Acked-by: Jan-Bernd Themann <themann@de.ibm.com>
Cc: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/tokenring/3c359.c: use time_* macros
S.Caglar Onur [Fri, 28 Mar 2008 21:41:25 +0000 (14:41 -0700)]
drivers/net/tokenring/3c359.c: use time_* macros

The functions time_before, time_before_eq, time_after, and time_after_eq are
more robust for comparing jiffies against other values.

So use the time_after() macro, defined in linux/jiffies.h, which deals with
wrapping correctly.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: S.Caglar Onur <caglar@pardus.org.tr>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/arcnet/arcnet.c: use time_* macros
S.Caglar Onur [Fri, 28 Mar 2008 21:41:24 +0000 (14:41 -0700)]
drivers/net/arcnet/arcnet.c: use time_* macros

The functions time_before, time_before_eq, time_after, and time_after_eq are
more robust for comparing jiffies against other values.

So use the time_after() macro, defined in linux/jiffies.h, which deals with
wrapping correctly.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: S.Caglar Onur <caglar@pardus.org.tr>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago3c509: convert to isa_driver and pnp_driver
Ondrej Zary [Fri, 28 Mar 2008 21:41:23 +0000 (14:41 -0700)]
3c509: convert to isa_driver and pnp_driver

Convert 3c509 driver to isa_driver and pnp_driver.  The result is that
autoloading using udev and hibernation works with ISA PnP cards.  It also adds
hibernation support for non-PnP ISA cards.

xcvr module parameter was removed as its value was not used.

Tested using 3 ISA cards in various combinations of PnP and non-PnP modes.
EISA and MCA only compile-tested.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[UDP]: Remove owner from udp_seq_afinfo.
Denis V. Lunev [Sat, 29 Mar 2008 01:25:53 +0000 (18:25 -0700)]
[UDP]: Remove owner from udp_seq_afinfo.

Move it to udp_seq_afinfo->seq_fops as should be.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[UDP]: Place file operations directly into udp_seq_afinfo.
Denis V. Lunev [Sat, 29 Mar 2008 01:25:32 +0000 (18:25 -0700)]
[UDP]: Place file operations directly into udp_seq_afinfo.

No need to have separate never-used variable.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[UDP]: Cleanup /proc/udp[6] creation/removal.
Denis V. Lunev [Sat, 29 Mar 2008 01:25:06 +0000 (18:25 -0700)]
[UDP]: Cleanup /proc/udp[6] creation/removal.

Replace seq_open with seq_open_net and remove udp_seq_release
completely.  seq_release_net will do this job just fine.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[UDP]: Move seq_ops from udp_iter_state to udp_seq_afinfo.
Denis V. Lunev [Sat, 29 Mar 2008 01:24:26 +0000 (18:24 -0700)]
[UDP]: Move seq_ops from udp_iter_state to udp_seq_afinfo.

No need to create seq_operations for each instance of 'netstat'.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[UDP]: No need to check afinfo != NULL in udp_proc_(un)register.
Denis V. Lunev [Sat, 29 Mar 2008 01:24:01 +0000 (18:24 -0700)]
[UDP]: No need to check afinfo != NULL in udp_proc_(un)register.

udp_proc_register/udp_proc_unregister are called with a static pointer only.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[UDP]: Replace struct net on udp_iter_state with seq_net_private.
Denis V. Lunev [Sat, 29 Mar 2008 01:23:33 +0000 (18:23 -0700)]
[UDP]: Replace struct net on udp_iter_state with seq_net_private.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Fix dev_alloc_skb() typo.
David S. Miller [Sat, 29 Mar 2008 01:22:32 +0000 (18:22 -0700)]
[NET]: Fix dev_alloc_skb() typo.

Noticed by Joe Perches.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[LIB]: Drop the pcounter itself.
Pavel Emelyanov [Fri, 28 Mar 2008 23:39:58 +0000 (16:39 -0700)]
[LIB]: Drop the pcounter itself.

The knock-out. The pcounter abstraction is not used any longer in the
kernel.

Not sure whether this should go via netdev tree, but as far as I
remember it was added via this one, and besides Eric thinks that
Andrew shouldn't mind this.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOCK]: Drop inuse pcounter from struct proto (v2).
Pavel Emelyanov [Fri, 28 Mar 2008 23:39:33 +0000 (16:39 -0700)]
[SOCK]: Drop inuse pcounter from struct proto (v2).

An uppercut - do not use the pcounter on struct proto.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOCK]: Drop per-proto inuse init and fre functions (v2).
Pavel Emelyanov [Fri, 28 Mar 2008 23:39:10 +0000 (16:39 -0700)]
[SOCK]: Drop per-proto inuse init and fre functions (v2).

Constructive part of the set is finished here. We have to remove the
pcounter, so start with its init and free functions.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOCK]: Introduce a percpu inuse counters array (v2).
Pavel Emelyanov [Fri, 28 Mar 2008 23:38:43 +0000 (16:38 -0700)]
[SOCK]: Introduce a percpu inuse counters array (v2).

And redirect sock_prot_inuse_add and _get to use one.

As far as the dereferences are concerned. Before the patch we made
1 dereference to proto->inuse.add call, the call itself and then
called the __get_cpu_var() on a static variable. After the patch we
make a direct call, then one dereference to proto->inuse_idx and
then the same __get_cpu_var() on a still static variable. So this
patch doesn't seem to produce performance penalty on SMP.

This is not per-net yet, but I will deliberately make NET_NS=y case
separated from NET_NS=n one, since it'll cost us one-or-two more
dereferences to get the struct net and the inuse counter.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SOCK]: Enumerate struct proto-s to facilitate percpu inuse accounting (v2).
Pavel Emelyanov [Fri, 28 Mar 2008 23:38:17 +0000 (16:38 -0700)]
[SOCK]: Enumerate struct proto-s to facilitate percpu inuse accounting (v2).

The inuse counters are going to become a per-cpu array.  Introduce an
index for this array on the struct proto.

To handle the case of proto register-unregister-register loop the
bitmap is used. All its bits manipulations are protected with
proto_list_lock and a sanity check for the bitmap being exhausted is
also added.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Rename inet_frag.h identifiers COMPLETE, FIRST_IN, LAST_IN to INET_FRAG_*
Joe Perches [Fri, 28 Mar 2008 23:35:27 +0000 (16:35 -0700)]
[NET]: Rename inet_frag.h identifiers COMPLETE, FIRST_IN, LAST_IN to INET_FRAG_*

On Fri, 2008-03-28 at 03:24 -0700, Andrew Morton wrote:
> they should all be renamed.

Done for include/net and net

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: Remove unused method declaration in include/net/addrconf.h.
Rami Rosen [Fri, 28 Mar 2008 23:26:45 +0000 (16:26 -0700)]
[IPV6]: Remove unused method declaration in include/net/addrconf.h.

This patches removes unused declaration of addrconf_forwarding_on() method
in include/net/addrconf.h.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Add inline intent commentary to dev_alloc_skb().
Denys Vlasenko [Fri, 28 Mar 2008 22:57:39 +0000 (15:57 -0700)]
[NET]: Add inline intent commentary to dev_alloc_skb().

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Protect device namespace inlines with CONFIG_NET
David S. Miller [Fri, 28 Mar 2008 22:53:11 +0000 (15:53 -0700)]
[NET]: Protect device namespace inlines with CONFIG_NET

Include sites should not be bothered by whether
CONFIG_NET is set or not when trying to include
benign files like linux/etherdevice.h et al.

From a report by Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6] NEIGH: Optimize is_router check.
YOSHIFUJI Hideaki [Fri, 28 Mar 2008 04:37:58 +0000 (13:37 +0900)]
[IPV6] NEIGH: Optimize is_router check.

Our interest is not the whole entry of proxy neighbor but the
NTF_ROUTER flag.  Let's test it explicitly.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[NET] NEIGHBOUR: Extract hash/lookup functions for pneigh entries.
YOSHIFUJI Hideaki [Fri, 28 Mar 2008 03:46:53 +0000 (12:46 +0900)]
[NET] NEIGHBOUR: Extract hash/lookup functions for pneigh entries.

Extract hash function for pneigh entries from pneigh_lookup(),
__pneigh_lookup() and pneigh_delete() as pneigh_hash().
Extract core of pneigh_lookup() and __pneigh_lookup() as
__pneigh_lookup_1().

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[NET] NEIGHBOUR: Make each EXPORT_SYMBOL{,_GPL}() immediately follow its function...
YOSHIFUJI Hideaki [Mon, 24 Mar 2008 09:39:10 +0000 (18:39 +0900)]
[NET] NEIGHBOUR: Make each EXPORT_SYMBOL{,_GPL}() immediately follow its function/variable.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Fri, 28 Mar 2008 01:48:56 +0000 (18:48 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/davem/net-2.6

Conflicts:

drivers/net/usb/rndis_host.c
drivers/net/wireless/b43/dma.c
net/ipv6/ndisc.c

16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Fri, 28 Mar 2008 01:01:13 +0000 (18:01 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6.26

16 years ago[SCTP]: Remove sctp_add_cmd_sf wrapper bloat
Ilpo Järvinen [Fri, 28 Mar 2008 00:54:29 +0000 (17:54 -0700)]
[SCTP]: Remove sctp_add_cmd_sf wrapper bloat

With a was number of callsites sctp_add_cmd_sf wrapper bloats
kernel by some amount. Due to unlikely tracking allyesconfig,
with the initial result were around ~7kB (thus caught my
attention) while a non-debug config produced only ~2.3kB effect.

I (ij) proposed first a patch to uninline it but Vlad responded
with a patch that removed the only sctp_add_cmd call which is
wrapped by sctp_add_cmd_sf (I wasn't sure if I could do that).
I did minor cleanup to Vlad's patch.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_trim, de-bloats
Ilpo Järvinen [Fri, 28 Mar 2008 00:54:01 +0000 (17:54 -0700)]
[NET]: uninline skb_trim, de-bloats

Allyesconfig (v2.6.24-mm1):
-10976  209 funcs, 123 +, 11099 -, diff: -10976 --- skb_trim

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):
-7360  192 funcs, 131 +, 7491 -, diff: -7360 --- skb_trim
skb_trim                      |  +42

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline dst_release
Ilpo Järvinen [Fri, 28 Mar 2008 00:53:31 +0000 (17:53 -0700)]
[NET]: uninline dst_release

Codiff stats (allyesconfig, v2.6.24-mm1):
-16420  187 funcs, 103 +, 16523 -, diff: -16420 --- dst_release

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):
-7257  186 funcs, 70 +, 7327 -, diff: -7257 --- dst_release
dst_release                   |  +40

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_push, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:52:40 +0000 (17:52 -0700)]
[NET]: uninline skb_push, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

-21593  356 funcs, 2418 +, 24011 -, diff: -21593 --- skb_push

Without many debug related CONFIGs (v2.6.25-rc2-mm1):

-13890  341 funcs, 189 +, 14079 -, diff: -13890 --- skb_push
skb_push                      |  +46

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline dev_alloc_skb, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:51:31 +0000 (17:51 -0700)]
[NET]: uninline dev_alloc_skb, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

-23668  392 funcs, 104 +, 23772 -, diff: -23668 --- dev_alloc_skb

Without many debug CONFIGs (v2.6.25-rc2-mm1):

-12178  382 funcs, 157 +, 12335 -, diff: -12178 --- dev_alloc_skb
dev_alloc_skb                 |  +37

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_pull, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:47:24 +0000 (17:47 -0700)]
[NET]: uninline skb_pull, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

-28162  354 funcs, 3005 +, 31167 -, diff: -28162 --- skb_pull

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):

-9697  338 funcs, 221 +, 9918 -, diff: -9697 --- skb_pull
skb_pull                      |  +44

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_put, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:43:41 +0000 (17:43 -0700)]
[NET]: uninline skb_put, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

~500 files changed
...
 869 funcs, 198 +, 111003 -, diff: -110805 --- skb_put
  skb_put                       | +104

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):

-60744  855 funcs, 861 +, 61605 -, diff: -60744 --- skb_put
  skb_put                       |  +57

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Use local_irq_{save,restore}() in napi_complete().
David S. Miller [Fri, 28 Mar 2008 00:42:50 +0000 (17:42 -0700)]
[NET]: Use local_irq_{save,restore}() in napi_complete().

Based upon a lockdep report.

Since ->poll() can be invoked from netpoll with interrupts
disabled, we must not unconditionally enable interrupts
in napi_complete().

Instead we must use local_irq_{save,restore}().

Noticed by Peter Zijlstra:

<irqs disabled>

  netpoll_poll()
    poll_napi()
      spin_trylock(&napi->poll_lock)
      poll_one_napi()
        napi->poll() := sky2_poll()
          napi_complete()
            local_irq_disable()
            local_irq_enable() <--- *BUG*

  <irq>
    irq_exit()
      do_softirq()
        net_rx_action()
          spin_lock(&napi->poll_lock) <--- Deadlock!

Because we still hold the lock....

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: Remove three unused method declarations in include/net/ipv6.h
Rami Rosen [Fri, 28 Mar 2008 00:39:19 +0000 (17:39 -0700)]
[IPV6]: Remove three unused method declarations in include/net/ipv6.h

This patch removes three unused method declarations in include/net/ipv6.h:
inet_getfrag_t(), ipv6_build_nfrag_opts() and ipv6_build_frag_opts().

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: Replate direct proc_fops assignment with proc_create call.
Denis V. Lunev [Thu, 27 Mar 2008 23:55:53 +0000 (16:55 -0700)]
[NETFILTER]: Replate direct proc_fops assignment with proc_create call.

This elliminates infamous race during module loading when one could lookup
proc entry without proc_fops assigned.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[PKT_SCHED]: Pass real namespace in net scheduler classifiers.
Denis V. Lunev [Thu, 27 Mar 2008 23:53:37 +0000 (16:53 -0700)]
[PKT_SCHED]: Pass real namespace in net scheduler classifiers.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[ESP]: Ensure IV is in linear part of the skb to avoid BUG() due to OOB access
Thomas Graf [Thu, 27 Mar 2008 23:08:03 +0000 (16:08 -0700)]
[ESP]: Ensure IV is in linear part of the skb to avoid BUG() due to OOB access

ESP does not account for the IV size when calling pskb_may_pull() to
ensure everything it accesses directly is within the linear part of a
potential fragment. This results in a BUG() being triggered when the
both the IPv4 and IPv6 ESP stack is fed with an skb where the first
fragment ends between the end of the esp header and the end of the IV.

This bug was found by Dirk Nehring <dnehring@gmx.net> .

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Do no include NET related headers if CONFIG_NET is not set.
Denis V. Lunev [Thu, 27 Mar 2008 21:26:30 +0000 (14:26 -0700)]
[NETNS]: Do no include NET related headers if CONFIG_NET is not set.

This fix broken compilation for 'allnoconfig'. This was introduced by
Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET]
NETNS: Omit seq_net_private->net without CONFIG_NET_NS.")

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Compile NET /proc support only if CONFIG_NET is set.
Denis V. Lunev [Thu, 27 Mar 2008 21:25:53 +0000 (14:25 -0700)]
[NETNS]: Compile NET /proc support only if CONFIG_NET is set.

This fix broken compilation for 'allnoconfig'. This was introduced by
Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET]
NETNS: Omit seq_net_private->net without CONFIG_NET_NS.")

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agolibertas: reduce debug output
Holger Schurig [Wed, 26 Mar 2008 09:04:44 +0000 (10:04 +0100)]
libertas: reduce debug output

This patch tries to make dmesg logs between different runs easier
to compare by

* removing the jiffies (use CONFIG_PRINTK_TIME if you need
  timing)
* remove the line numbers, they change with each applied patch

It also changes the deprecated __FUNCTION__ to __func__ to make
checkpatch.pl happy.

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 agomac80211: reorder fields to make some structures smaller
Johannes Berg [Wed, 26 Mar 2008 22:21:47 +0000 (23:21 +0100)]
mac80211: reorder fields to make some structures smaller

This patch reorders some fields in various structures to have
less padding within the structures, making them smaller. It
doesn't yet make any type adjustments, but often size_t is used
for example for IE lengths which is total overkill since size_t
will be 8 bytes long on 64-bit yet the length can at most fill
a u8.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoprism54: correct thinko in "prism54: Convert stats_sem in a mutex"
John W. Linville [Wed, 26 Mar 2008 19:21:33 +0000 (15:21 -0400)]
prism54: correct thinko in "prism54: Convert stats_sem in a mutex"

mutex_trylock has different return code semantics than down_trylock...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: A-MPDU MLME use dynamic allocation
Ron Rindjunsky [Wed, 26 Mar 2008 18:36:03 +0000 (20:36 +0200)]
mac80211: A-MPDU MLME use dynamic allocation

This patch alters the A-MPDU MLME in sta_info to use dynamic allocation,
thus drastically improving memory usage - from a constant ~2 Kbyte in
the previous (static) allocation to a lower limit of ~200 Byte and an upper
limit of ~2 Kbyte.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agocfg80211: don't export ieee80211_get_channel
Johannes Berg [Wed, 26 Mar 2008 13:14:55 +0000 (14:14 +0100)]
cfg80211: don't export ieee80211_get_channel

This patch makes ieee80211_get_channel a static inline defined in
cfg80211's header file which simply calls __ieee80211_get_channel
to avoid symbol clashes with the ieee80211 code.

The problem was pointed out by David Miller, thanks!

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: the compact flash driver is no longer experimental
Holger Schurig [Wed, 26 Mar 2008 12:26:55 +0000 (13:26 +0100)]
libertas: the compact flash driver is no longer experimental

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: remove CMD_802_11_PWR_CFG
Holger Schurig [Wed, 26 Mar 2008 08:57:45 +0000 (09:57 +0100)]
libertas: remove CMD_802_11_PWR_CFG

This has nowhere been used. Note: in the firmware manual this was
documented as CMD_802_11_PA_CFG. If we ever need it, we can/should
re-implement it as a direct command.

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>