Commit Graph

222485 Commits

Author SHA1 Message Date
Marek Belisko
e999fb0574 staging: ft1000: Remove functions which create devices in kernel space.
Remove exec_mknod() and rm_mknod() helpers which was used for
device nodes creating/removing in kernel space.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:42:03 -08:00
Al Cho
6efe04ee41 staging: keucr: fix keucr init other coding style
fix keucr init.c other coding style but not from checkpatch.pl.
replace ternary conditional "?:" with if/else.

Signed-off-by: Al Cho <acho@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:40:31 -08:00
Al Cho
e93192acff staging: keucr: fix keucr init coding style
fix keucr init.c init.h coding style.
only fix coding style check by checkpatch.pl.

Signed-off-by: Al Cho <acho@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:40:31 -08:00
Vasiliy Kulikov
280740a901 staging: msm: tvenc: fix error handling
Driver init() function should return error code.
Also fix tvenc_clk leak.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:38:50 -08:00
Randy Dunlap
8956110dbb staging: fix intel_sst/intelmid sound build
SND_INTELMID selects 3 SND_* kconfig symbols, but that is useless
if the SOUND & SND symbols in their hierarchy are not enabled,
so make this symbol depend on SOUND & SND.

ERROR: "snd_pcm_period_elapsed" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_card_create" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_pcm_hw_constraint_integer" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_device_new" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_pcm_set_ops" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_jack_new" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_pcm_lib_free_pages" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_pcm_lib_ioctl" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_pcm_lib_malloc_pages" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_ctl_new1" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_pcm_lib_preallocate_pages_for_all" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_card_free" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_card_register" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_jack_report" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_pcm_new" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!
ERROR: "snd_ctl_add" [drivers/staging/intel_sst/snd-intelmid.ko] undefined!

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:38:50 -08:00
Brett Rudley
fa7a1db200 staging: brcm80211: Remove BUSTYPE macro
BUSTYPE isn't used in this configuration.

Signed-off-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:37:51 -08:00
Arend van Spriel
c95e66e1fa staging: brcm80211: remove unused dhd_ops_virt variable definition
The variable dhd_ops_virt was used before although its use was rather
limited as can be found in previous commit:

| commit 4fd68ae1a5
| Author: Julia Lawall <julia@diku.dk>
| Date:   Tue Oct 26 12:25:33 2010 +0200
|
|    drivers/staging/brcm80211/brcmfmac/dhd_linux.c: delete double assignment
|

Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:37:33 -08:00
Arend van Spriel
3be727c8f0 staging: brcm80211: remove some more packet related macros
macros PKTHEADROOM and PKTTAILROOM have been replaced by native
skbuff functions and macros PKTALLOCED and PKTUNALLOC have been
removed.

Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:37:32 -08:00
Arend van Spriel
54991ad6d0 staging: brcm80211: removed packet macros for accessing sk_buff fields
With the packet storage type changed from void pointer to struct sk_buff
pointer there is no need for macros for accessing these fields through
casting. These can now be accessed directly.

Reviewed-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:37:01 -08:00
Arend van Spriel
c26b1378a7 staging: brcm80211: change packet buffer type to native struct sk_buff
The packet queues now store struct sk_buff pointer and subsequently
all driver code handling packets now use struct sk_buff as package
storage type. Next step will be getting rid of packet macros.

Reviewed-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:37:01 -08:00
Arend van Spriel
b6eb5c0f71 staging: brcm80211: remove unneccessary packets funtion prototype
The prototype for function pktsegcnt in bmcutils.h is not defined
nor used anywhere in the driver so it can be removed.

Reviewed-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:37:01 -08:00
Arend van Spriel
7c8bc0147f staging: brcm80211: add include file for using semaphore related definitions
Source wl_iw.c uses semaphore definitions and as such should include
<linux/semaphore.h>.

Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:36:34 -08:00
Brett Rudley
57d8cd23c2 staging: brcm80211: OSL shrink: Remove OSL_PCI_READ/WRITE_CONFIG
Replace OSL layer PCI READ/WRITE macros with native calls.

Signed-off-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:36:34 -08:00
Greg Kroah-Hartman
b99bca8bba Merge branch 'work' into staging-next 2010-11-29 11:21:25 -08:00
Greg Kroah-Hartman
857cf1d1e6 Staging: sep: do not select the driver by default
The Kconfig file should not have 'y' as the default, especially
as the driver will crash a machine if it is loaded and the hardware
is not present.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Mark Allyn <mark.a.allyn@intel.com>
Cc: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:19:57 -08:00
Greg Kroah-Hartman
3b93ff0302 Staging: sep: do not select the driver by default
The Kconfig file should not have 'y' as the default, especially
as the driver will crash a machine if it is loaded and the hardware
is not present.

Cc: Mark Allyn <mark.a.allyn@intel.com>
Cc: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:18:08 -08:00
Alan Cox
da3f825bc7 Staging: sep: Fix crash if a device is not found
The existing code works mostly by luck. The PCI probe is done by the
register and completes before the register returns thus allowing the other
init code to run in time. Without a SEP or if unlucky this doesn't occur
and you get an OOPS which for some reason causes grumpiness.

As the season of good b^Hcheer is supposed to be approaching we should
probably fix it.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:29 -08:00
Alan Cox
6f89be93ce Staging: sep: clean up a couple of spots missed in pass one
Another copy_user case and some formatting of dbg

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:28 -08:00
Alan Cox
2bb3af58d0 Staging: sep: cant is an angular inclination
So use can't instead.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:28 -08:00
Alan Cox
6eb44c5317 Staging: sep: Make SEP consistent
SEP is initials so make it consistent in the driver, ditto DMA and DCB
Consistent capitalisation of comment leads

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:28 -08:00
Alan Cox
7c9eb69123 Staging: sep: Use kzalloc when needed
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:28 -08:00
Alan Cox
da14e55130 Staging: sep: clean up some of the obvious sillies
Various assignments are done but not used
dev_dbg formatting is a bit weird and wraps when not needed
Take out some of the blank lines and reformat a bit to reduce view size
Remove some comments that are obvious
Fix else formatting
Remove some user triggerable dev_warns
Fix copy_from_user error return cases (-EFAULT not bytes copied)

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:28 -08:00
Alan Cox
d1bb83213d Staging: sep: Fix the kernel-doc in SEP
The long blurb goes at the end

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:27 -08:00
Alan Cox
4c8e2a1f3d Staging: sep: clean up caller_id function
This is called on a kmalloc/memset object. Remove everything that isn't a
set to zero

Oh look 8)

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:27 -08:00
Alan Cox
8d80e4e2da Staging: sep: netlink - what netlink
Kill unused stuff

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:27 -08:00
Alan Cox
266aa856f2 Staging: sep: handle the memrar stuff in the headers
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:27 -08:00
Alan Cox
62a8c3a32e Staging: sep: handle the rar definition stuff in the header
SEP isn't the only driver that may need to handle both cases easily

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:17:22 -08:00
Alan Cox
de92e3a3b2 Staging: sep: minimal fix for wrong include
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:16:55 -08:00
Vinod Koul
62877913ba Staging: sst: add ioctls for post processing algorithm interface
This patch adds two new ioctls to intel_sst_ctrl device.
This i/f can be used by application to send algorithm parameters

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
[This will need further discussion in the context of the final ALSA interface
 but is fine for staging, ie anyone who relies on it should expect changes
 Also fixed a missing kmalloc fail check]
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:14:05 -08:00
Vinod Koul
79a35ad573 Staging: sst: Construct fw string name runtime
The firmware name for each platform is appended by PCI id of device.
This patch makes use of pci id to construct the string rather than
hardcode the string.

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:13:55 -08:00
Vinod Koul
964c6975e8 Staging: sst: Add runtime PM support
This adds runtime PM support for audio driver.
This also fixes LPA audio mode for moorestown platform

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:13:32 -08:00
Sven Eckelmann
951c44e0db Staging: batman-adv: Use kernel functions to identify broadcasts
linux/etherdevice.h already provides functions to classify different
ethernet addresses. These inlineable functions should be used instead of
custom functions.

The check for multicast together with multicast can also be replaced
with a single test for multicast because for every ethernet address x
following is always true:

is_broadcast_ether_addr(x) => is_multicast_ether_addr(x)

or when looking more at the implementation:

(FF:FF:FF:FF:FF:FF == x) => [(01:00:00:00:00:00 & x) != 00:00:00:00:00:00]

Reported-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:14 -08:00
Sven Eckelmann
8cab2fbe6d Staging: batman-adv: Use kernel version min macro
The kernel headers already provide different versions of a min/max macro
which should be used by all modules according to
Documentation/CodingStyle.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:14 -08:00
Marek Lindner
003db3b2ad Staging: batman-adv: add gateway IPv6 support by filtering DHCPv6 messages
Some additional checks will be needed in case of extension headers
like the fragmentation or hop-by-hop (for jumbo frames for example)
headers or ipsec stuff. But this patch should do for most people
for now, the rest can be added with a later one.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Acked-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:14 -08:00
Marek Lindner
c9c556b63b Staging: batman-adv: best gw DHCP filter 802.1Q support
The DHCP filter inspects packets to determine whether or not to send
them via ethernet unicast. This patch adds 802.1Q (vlan) support for
this check.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
[sven.eckelmann@gmx.de: Rework on top of current version]
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:14 -08:00
Marek Lindner
6c3a42db6c Staging: batman-adv: send DHCP requests directly to the chosen gw
If the gateway client mode is active batman-adv will send the
broadcasted DHCP requests via unicast to the currently selected best
gateway. Therefore attached clients can profit from batman's knowledge
about the network topology.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
[sven.eckelmann@gmx.de: Rework on top of current version]
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:13 -08:00
Marek Lindner
dfaf9dd345 Staging: batman-adv: adding gateway functionality
Via the /sys filesystem you can change the gateway mode of a node using
gw_mode. Adjustments to it can be done using gw_bandwidth for server
mode and gw_sel_class for client mode.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
[sven.eckelmann@gmx.de: Rework on top of current version]
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:13 -08:00
Sven Eckelmann
7a18deb7b0 Staging: batman-adv: Limit spin_locks to spin_lock_bh
spin_lock_irqsave disables the IRQs and stores them inside the flags
provided by the caller. This is needed to protect a bottom half handler
or a user context critical section from being interrupted by an
interrupt handler which also tries to acquire the spinlock and locks
forever.

The linux device drivers will receive the packets inside an interrupt
handler and the network infrastructure will process them inside bottom
half. Thus batman-adv will only run in user context and bottom half
handlers. We can conclude that batman-adv doesn't share its own
spinlocks with real interrupt handlers.

This makes it possible to exchange the quite complex spin_lock_irqsave
with spin_lock_bh which only stops bottom halves from running on the
current cpu, but allows interrupt handlers to take over to keep the
interrupt latency low.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:13 -08:00
Sven Eckelmann
bd204952cf Staging: batman-adv: Rewrite hash using hlist_*
The hash implementation is a complete implementation of a hash using
buckets as hash entries and overflow buckets attached to them.

The kernel already provides datastructures hlist_head and hlist_node
which can be used to implement an hash using lists as hash buckets. So
it is better to implement heavily used functionality on top of those
instead of providing a full hash implementation.

The rewrite changes the behavior of some functions slightly:
 * hash_add add elements to the front instead of the tail
 * hash_iterate doesn't provide pointer to access bucket->data directly,
   but it can be accessed using hlist_entry

Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:13 -08:00
Sven Eckelmann
a3238c3b37 Staging: batman-adv: Make hash_iterate inlineable
hash_iterate is next to the function pointers the most called function
related to hashes which benefits from inlining as it is uses in loops.

Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:12 -08:00
Sven Eckelmann
60eb502436 Staging: batman-adv: Move hash callback related function to header
To enable inlining of the function pointers hashdata_choose_cb,
hashdata_choose_cb and hashdata_free_cb, also the hash functions which
uses them must be inlined by the called function.

This should increase the performance, but also increases the size of the
generated machine code slightly.

Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:12 -08:00
Sven Eckelmann
6d5e654240 Staging: batman-adv: Remove hashdata_choose_cb from hash
Function pointers cannot be inlined by a compiler and thus always has
the overhead of an call. hashdata_choose_cb's are one of the most often
called function pointers and its overhead must kept relative low.

As first step, every function which uses this function pointer takes it
as parameter instead of storing it inside the hash abstraction
structure.

This not generate any performance gain right now. The called functions
must also be able to be inlined by the calling functions to enable
inlining of the function pointer.

Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:12 -08:00
Sven Eckelmann
51f3d8a27c Staging: batman-adv: Remove hashdata_compare_cb from hash
Function pointers cannot be inlined by a compiler and thus always has
the overhead of an call. hashdata_compare_cb's are one of the most often
called function pointers and its overhead must kept relative low.

As first step, every function which uses this function pointer takes it
as parameter instead of storing it inside the hash abstraction
structure.

This not generate any performance gain right now. The called functions
must also be able to be inlined by the calling functions to enable
inlining of the function pointer.

Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:12 -08:00
Linus Lüssing
1341a00ad3 Staging: batman-adv: Make hop_penalty configurable via sysfs
When having a mixed topology of both very mobile and rather static
nodes, you are usually best advised to set the originator interval on
all nodes to a level best suited for the most mobile node.

However, if most of the nodes are rather static, this can create a lot
of undesired overhead as a trade-off then. If setting the interval too
low on the static nodes, a mobile node might be chosen as a router for
too long, not switching away from it fast enough because of its
mobility and the low frequency of ogms of static nodes.

Exposing the hop_penalty is especially useful for the stated scenario: A
static node can keep the default originator interval, a mobile node can
select a quicker one resulting in faster route updates towards this
mobile node. Additionally, such a mobile node could select a higher hop
penalty (or even set it to 255 to disable acting as a router for other
nodes) to make it less desirable, letting other nodes avoid selecting
this mobile node as a router.

Signed-off-by: Linus Lüssing <linus.luessing@ascom.ch>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:11 -08:00
Linus Lüssing
1623948f87 Staging: batman-adv: Ommit storing struct device in sysfs functions
We actually do not need an extra struct device variable, therefore
replacing them with defines that directly get the bat_priv or
net_device. This further reduces the code size in bat_sysfs.c and
especially shortens some macros.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:11 -08:00
Linus Lüssing
add9e17227 Staging: batman-adv: Wrapper functions for sysfs storing
Sysfs configuration options that just took a boolean value
(enable(d)/disable(d)/0/1) and integer setting basically all had the same
structure.

To avoid even more copy and pasting in the future and to make introducing
new configuration parameters for batman-adv simpler, more generic
wrapper functions are being introduced with this commit. They can deal with
boolean and unsigned integer parameters, storing them in the specified
atomic_t variables.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:11 -08:00
Linus Lüssing
641ee3f8f4 Staging: batman-adv: Unify sysfs file names with their bat_priv atomics
Both sysfs entries and variable names shall be as descriptive as
possible while not exceeding a certain length. This patch renames
bat_priv atomics to be equally descriptive with their according sysfs
entries.

Unifying sysfs and bat_priv atomic names also makes it easier to find
each others pendant.

The reduced ("type"-)information which was previously indicated with a
_enabled for booleans got substituted by a comment in bat_priv.

This patch has also been done in regards for the future BAT_ATTR_*
macros (they only need one name argument instead of a file and variable
name).

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:11 -08:00
Marek Lindner
420193573f Staging: batman-adv: softif bridge loop avoidance
By connecting multiple batman-adv mesh nodes to the same ethernet
segment a loop can be created when the soft-interface is bridged
into that ethernet segment. A simple visualization of the loop
involving the most common case - a LAN as ethernet segment:

node1  <-- LAN  -->  node2
   |                   |
 wifi  <-- mesh -->  wifi

Packets from the LAN (e.g. ARP broadcasts) will circle forever from
node1 or node2 over the mesh back into the LAN.

This patch adds the functionality to detect other batman-adv nodes
connected to the LAN and select a 'gateway' to talk to the
non-batman-adv devices on this LAN. All traffic from and to the mesh
will be handled by this gateway to avoid the loop. OGMs received via
the soft-interface are interpreted as 'port announcements' to locate
potential batman-adv nodes. The patch can also deal with vlans on
top of batX and offers a list of LAN neighbors via debugfs.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
[sven.eckelmann@gmx.de: Rework on top of current version]
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:11 -08:00
Andreas Langer
225f7b0b95 Staging: batman-adv: reassemble fragmented skb if mtu allows it
Signed-off-by: Andreas Langer <an.langer@gmx.de>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:10 -08:00
Andreas Langer
9061109ab1 Staging: batman-adv: fragment forwarded packets
If a packet is too big to be forwarded over an interface it will be
fragmented on-the-fly (if fragmentation is enabled).

Signed-off-by: Andreas Langer <an.langer@gmx.de>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 11:09:10 -08:00