cascardo/linux.git
13 years agoStaging: batman-adv: Always synchronize rcu's on module shutdown
Linus Lüssing [Sun, 12 Sep 2010 21:21:52 +0000 (23:21 +0200)]
Staging: batman-adv: Always synchronize rcu's on module shutdown

During the module shutdown procedure in batman_exit(), a rcu callback is
being scheduled (batman_exit -> hardif_remove_interfaces ->
hardif_remove_interfae -> call_rcu). However, when the kernel unloads
the module, the rcu callback might not have been executed yet, resulting
in a "unable to handle kernel paging request" in __rcu_process_callback
afterwards, causing the kernel to freeze.

The synchronize_net and synchronize_rcu in mesh_free are currently
called before the call_rcu in hardif_remove_interface and have no real
effect on it.

Therefore, we should always flush all rcu callback functions scheduled
during the shutdown procedure using synchronize_net. The call to
synchronize_rcu can be omitted because synchronize_net already calls it.

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>
13 years agostaging: iio: sca3000 convert byte order of ring buffer data
Manuel Stahl [Thu, 9 Sep 2010 15:40:11 +0000 (17:40 +0200)]
staging: iio: sca3000 convert byte order of ring buffer data

Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: iio: sca3000 fix sca3000_[show,store]_ring_bpse
Manuel Stahl [Thu, 9 Sep 2010 15:40:10 +0000 (17:40 +0200)]
staging: iio: sca3000 fix sca3000_[show,store]_ring_bpse

Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: iio: ak8975: Add ak8975 magnetometer sensor
Andrew Chew [Thu, 9 Sep 2010 05:02:17 +0000 (22:02 -0700)]
staging: iio: ak8975: Add ak8975 magnetometer sensor

This is for the Asahi Kasei AK8975 3-axis magnetometer.  It resides within
the magnetometer section of the IIO subsystem, and implements the raw
magn_x,y,z_raw attributes, as well as magn_x,y,z_scale attributes for
converting to Gauss.

Changed to use the magn_x,y,z_scale attributes, and made those attributes
give the scale factor to conert to Gauss.  Also applied more fixes from
feedback.

Keeping mode as an unsigned long.  I'm going to add proper power management
at some point anyway, which would deprecate this attribute.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: iio: Change GAIN macros to SCALE.
Andrew Chew [Thu, 9 Sep 2010 05:02:16 +0000 (22:02 -0700)]
staging: iio: Change GAIN macros to SCALE.

Per email exchange with Jonathan Cameron, GAIN should instead be SCALE, to
be consistent with documentation.

Resending, since this goes with the 2/2 patch.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: hv: Convert vmbus driver interface function pointer table to constant
Haiyang Zhang [Wed, 8 Sep 2010 20:29:45 +0000 (20:29 +0000)]
staging: hv: Convert vmbus driver interface function pointer table to constant

Convert vmbus driver interface function pointer table to constant
The vmbus interface functions are assigned to a constant - vmbus_ops.

Because the vmbus interface function pointer table is converted to a
constant variable -- vmbus_ops, the function GetChannelInterface(),
VmbusGetChannelInterface() and pointer GetChannelInterface are no longer
in use. The deprecated function's work is done by the initialization of
the newly added constant variable vmbus_ops.

I created the new constant variable vmbus_ops and removed the deprecated
function pointer GetChannelInterface in one patch.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix remaining checkpatch errors.
Jason Cooper [Tue, 14 Sep 2010 13:45:51 +0000 (09:45 -0400)]
staging: brcm80211: fix remaining checkpatch errors.

Remaining errors are due to the use of typedefs.  They should dissappear
once the typedefs get cleaned up.

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: trailing whitespace."
Jason Cooper [Tue, 14 Sep 2010 13:45:50 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: trailing whitespace."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: spaces required around that ..."
Jason Cooper [Tue, 14 Sep 2010 13:45:49 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: spaces required around that ..."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: spaces prohibited around that ':' ..."
Jason Cooper [Tue, 14 Sep 2010 13:45:48 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: spaces prohibited around that ':' ..."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: space required before that ..."
Jason Cooper [Tue, 14 Sep 2010 13:45:47 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: space required before that ..."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: space required after that ..."
Jason Cooper [Tue, 14 Sep 2010 13:45:46 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: space required after that ..."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: space required after that close brace"
Jason Cooper [Tue, 14 Sep 2010 13:45:45 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: space required after that close brace"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: space prohibited before ...close square bracket"
Jason Cooper [Tue, 14 Sep 2010 13:45:44 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: space prohibited before ...close square bracket"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: space prohibited after that ..."
Jason Cooper [Tue, 14 Sep 2010 13:45:43 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: space prohibited after that ..."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: need consistent spacing around '*'"
Jason Cooper [Tue, 14 Sep 2010 13:45:42 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: need consistent spacing around '*'"

This patch fixes the real errors.  The rest are caused by typedefs
which will be fixed in a later patch.

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix 'ERROR: "(foo*)" should be "(foo *)"'
Jason Cooper [Tue, 14 Sep 2010 13:45:41 +0000 (09:45 -0400)]
staging: brcm80211: fix 'ERROR: "(foo*)" should be "(foo *)"'

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: Macros w/ mult. statements ... do - while loop"
Jason Cooper [Tue, 14 Sep 2010 13:45:40 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: Macros w/ mult. statements ... do - while loop"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: Macros w/ complex values ... parenthesis"
Jason Cooper [Tue, 14 Sep 2010 13:45:39 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: Macros w/ complex values ... parenthesis"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: do not initialise statics to 0 or NULL"
Jason Cooper [Tue, 14 Sep 2010 13:45:38 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: do not initialise statics to 0 or NULL"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: do not initialise globals to 0 or NULL"
Jason Cooper [Tue, 14 Sep 2010 13:45:37 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: do not initialise globals to 0 or NULL"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: while should follow close brace '}'"
Jason Cooper [Tue, 14 Sep 2010 13:45:36 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: while should follow close brace '}'"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: that open brace { ... prev line"
Jason Cooper [Tue, 14 Sep 2010 13:45:35 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: that open brace { ... prev line"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: trailing statements should be on next line"
Jason Cooper [Tue, 14 Sep 2010 13:45:34 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: trailing statements should be on next line"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: do not use assignment in if condition"
Jason Cooper [Tue, 14 Sep 2010 13:45:33 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: do not use assignment in if condition"

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: return is not a function, paren..."
Jason Cooper [Tue, 14 Sep 2010 13:45:32 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: return is not a function, paren..."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix "ERROR: open brace '{' following function dec..."
Jason Cooper [Tue, 14 Sep 2010 13:45:31 +0000 (09:45 -0400)]
staging: brcm80211: fix "ERROR: open brace '{' following function dec..."

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: fix 'ERROR: "foo * bar" should be "foo *bar"'
Jason Cooper [Tue, 14 Sep 2010 13:45:30 +0000 (09:45 -0400)]
staging: brcm80211: fix 'ERROR: "foo * bar" should be "foo *bar"'

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: Fix URLs for firmware files.
Henry Ptasinski [Sat, 11 Sep 2010 16:44:09 +0000 (09:44 -0700)]
staging: brcm80211: Fix URLs for firmware files.

Signed-off-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: use '%pM' format to print MAC address
Andy Shevchenko [Mon, 13 Sep 2010 08:40:27 +0000 (11:40 +0300)]
staging: brcm80211: use '%pM' format to print MAC address

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Nohee Ko <noheek@broadcom.com>
Cc: linux-wireless@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: Add contact info to TODO list.
Henry Ptasinski [Thu, 9 Sep 2010 18:53:33 +0000 (11:53 -0700)]
staging: brcm80211: Add contact info to TODO list.

Signed-off-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: brcm80211: Fix some initialisation failure paths
Ben Hutchings [Fri, 10 Sep 2010 00:38:18 +0000 (01:38 +0100)]
staging: brcm80211: Fix some initialisation failure paths

Initialise wl_info::tasklet early so that it's safe to tasklet_kill()
it in wl_free().

Remove assertions from wl_free() that may not be true in case of
initialisation failure.

Call wl_release_fw() in case of failure after wl_request_fw().
Don't rely on wl_firmware::fw_cnt in wl_release_fw().

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: fix Makefile so broadcom driver will actually build.
Greg Kroah-Hartman [Thu, 9 Sep 2010 06:14:18 +0000 (23:14 -0700)]
Staging: fix Makefile so broadcom driver will actually build.

It would be nice if people tested their patches before sending
them to me...

Cc: Henry Ptasinski <henryp@broadcom.com>
Cc: Brett Rudley <brudley@broadcom.com>
Cc: Nohee Ko <noheek@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: Add initial release of brcm80211 - Broadcom 802.11n wireless LAN driver.
Henry Ptasinski [Thu, 9 Sep 2010 04:04:42 +0000 (21:04 -0700)]
Staging: Add initial release of brcm80211 - Broadcom 802.11n wireless LAN driver.

Signed-off-by: Henry Ptasinski <henryp@broadcom.com>
Cc: Brett Rudley <brudley@broadcom.com>
Cc: Nohee Ko <noheek@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: vt6656: use ARRAY_SIZE macro in channel.c
Nikitas Angelinas [Wed, 8 Sep 2010 21:27:55 +0000 (22:27 +0100)]
Staging: vt6656: use ARRAY_SIZE macro in channel.c

Replace (sizeof(ChannelRuleTab) / sizeof(ChannelRuleTab[0])) with
ARRAY_SIZE(ChannelRuleTab) in drivers/staging/vt6656/channel.c

Signed-off-by: Nikitas Angelinas <nikitasangelinas@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: comedi: fix space coding style issue in adl_pci9111.c
Maurice Dawson [Wed, 8 Sep 2010 18:15:46 +0000 (19:15 +0100)]
Staging: comedi: fix space coding style issue in adl_pci9111.c

This is a patch to the adl_pci9111.c file that fixes up multiple please,
no space for starting a line warnings, found by the checkpatch.pl tool

Signed-off-by: Maurice Dawson <mauricedawson2699@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: ath6kl: Eliminating the symlink to 2.0 header files
Vipin Mehta [Wed, 8 Sep 2010 22:19:48 +0000 (15:19 -0700)]
staging: ath6kl: Eliminating the symlink to 2.0 header files

Moving the AR6002 hw 2.0 specific register definitions files from
the hw.0 directory to a new directory, 'hw' within hw2.0.

Signed-off-by: Vipin Mehta <vmehta@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Less verbose function headers
Mike McCormack [Wed, 8 Sep 2010 13:05:21 +0000 (22:05 +0900)]
Staging: rtl8192e: Less verbose function headers

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Fix indent in some places
Mike McCormack [Wed, 8 Sep 2010 13:05:09 +0000 (22:05 +0900)]
Staging: rtl8192e: Fix indent in some places

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Remove some redundant comments
Mike McCormack [Wed, 8 Sep 2010 13:04:57 +0000 (22:04 +0900)]
Staging: rtl8192e: Remove some redundant comments

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Remove extern and redundant declarations
Mike McCormack [Wed, 8 Sep 2010 13:04:45 +0000 (22:04 +0900)]
Staging: rtl8192e: Remove extern and redundant declarations

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Remove function with no effect
Mike McCormack [Wed, 8 Sep 2010 13:04:34 +0000 (22:04 +0900)]
Staging: rtl8192e: Remove function with no effect

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Remove unused macros
Mike McCormack [Wed, 8 Sep 2010 13:04:20 +0000 (22:04 +0900)]
Staging: rtl8192e: Remove unused macros

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Remove some commented out code
Mike McCormack [Wed, 8 Sep 2010 13:04:10 +0000 (22:04 +0900)]
Staging: rtl8192e: Remove some commented out code

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Remove function name comments at end of functions
Mike McCormack [Wed, 8 Sep 2010 13:03:59 +0000 (22:03 +0900)]
Staging: rtl8192e: Remove function name comments at end of functions

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rtl8192e: Remove some redundant code
Mike McCormack [Wed, 8 Sep 2010 13:03:30 +0000 (22:03 +0900)]
Staging: rtl8192e: Remove some redundant code

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: Beeceem USB Wimax driver
Stephen Hemminger [Wed, 8 Sep 2010 21:46:36 +0000 (14:46 -0700)]
staging: Beeceem USB Wimax driver

The Sprint 4G network uses a Wimax dongle with Beecem
chipset. The driver is typical of out of tree drivers, but
maybe useful for people, and the hardware is readily available.

Here is a staging ready version (i.e warts and all)

0. Started with Rel_5.2.7.3P1_USB from Sprint4GDeveloperPack-1.1
1. Consolidated files in staging
2. Remove Dos cr/lf
3. Remove unnecessary ioctl from usbbcm_fops

Applied patches that were in the developer pack, surprising
there were ones for 2.6.35 already.

This is compile tested only, see TODO for what still needs
to be done.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: keucr: fix up some coding style issues in the .h files
Greg Kroah-Hartman [Wed, 8 Sep 2010 09:47:47 +0000 (02:47 -0700)]
Staging: keucr: fix up some coding style issues in the .h files

This resolves a few of the coding style issues in the .h files
for this driver.  It doesn't get all of them by far, but it's a
good start.

Cc: Al Cho <acho@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: add USB ENE card reader driver
Al Cho [Wed, 8 Sep 2010 07:42:32 +0000 (00:42 -0700)]
Staging: add USB ENE card reader driver

This driver is for the ENE card reader that can be found in many
different laptops.  It was written by ENE, but cleaned up to
work properly in the kernel tree by Novell.

Signed-off-by: Al Cho <acho@novell.com>
Cc: <yiyingc@ene.com.tw>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: xgifb: Removes unnecesary log
Javier Martinez Canillas [Wed, 8 Sep 2010 04:05:40 +0000 (00:05 -0400)]
staging: xgifb: Removes unnecesary log

This patch fixes a compile warning removing an unnecessary log message.
I redo the patch against today linux-next.

Thanks a lot

Signed-off-by: Javier Martinez Canillas <martinez.javier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging : xgifb: Removes compilation conditionals
Javier Martinez Canillas [Wed, 8 Sep 2010 04:07:57 +0000 (00:07 -0400)]
staging : xgifb: Removes compilation conditionals

This patch fixes a compilation warning in today linux-next
removing some compilation conditionals.

Signed-off-by: Javier Martinez Canillas <martinez.javier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: ath6kl: Fixing a compilation error introduced by commit ec53d6123bea9f69887f...
Vipin Mehta [Wed, 8 Sep 2010 00:06:50 +0000 (17:06 -0700)]
staging: ath6kl: Fixing a compilation error introduced by commit ec53d6123bea9f69887f194b5d4294a43292120d.

Signed-off-by: Vipin Mehta <vmehta@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: ath6kl: use native methods from kernel library
Andy Shevchenko [Tue, 7 Sep 2010 15:20:22 +0000 (18:20 +0300)]
staging: ath6kl: use native methods from kernel library

There are already implemented methods such hex_to_bin() or isxdigit() in
the kernel. Let's use them.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Vipin Mehta <Vipin.Mehta@Atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: rtl8712: throw away custom hex_to_bin()
Andy Shevchenko [Tue, 7 Sep 2010 15:20:21 +0000 (18:20 +0300)]
staging: rtl8712: throw away custom hex_to_bin()

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: xgifb: revert a warning fix and resolve it properly
Greg Kroah-Hartman [Wed, 8 Sep 2010 08:49:45 +0000 (01:49 -0700)]
Staging: xgifb: revert a warning fix and resolve it properly

Jiri pointed out that the previous compiler warning fix was incorrect as
the compiler was properly saying that the variable was not being set.
This was due to a #define commenting out all of the logic in the
function.

This patch reverts Javier's previous one, and properly fixes the issue
by making the function actually doing something.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Javier Martinez Canillas <martinez.javier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: otus: removes global variable initialization to 0 in wwrap.c
Prashant P. Shah [Tue, 7 Sep 2010 13:14:50 +0000 (18:44 +0530)]
Staging: otus: removes global variable initialization to 0 in wwrap.c

This is a patch to the wwrap.c file that removes the initialization
of global variable 'smp_kevent_Lock' to 0

Signed-off-by: Prashant P. Shah <pshah.mumbai@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: Bulk convert the semaphore mess
Thomas Gleixner [Tue, 7 Sep 2010 14:33:47 +0000 (14:33 +0000)]
staging: Bulk convert the semaphore mess

init_MUTEX(_LOCKED) and DECLARE_MUTEX are going away. Bulk convert
staging users.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: xgifb: Initialize uninitialized variables
Javier Martinez Canillas [Tue, 7 Sep 2010 05:34:05 +0000 (01:34 -0400)]
staging: xgifb: Initialize uninitialized variables

Current patch solves compilation warnings in staging/xgifb for using
possibly uninitialized variables.

Signed-off-by: Javier Martinez Canillas <martinez.javier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: xgifb: fixed many style issues in XGI_main_26.c
Prashant P. Shah [Mon, 6 Sep 2010 12:04:26 +0000 (17:34 +0530)]
Staging: xgifb: fixed many style issues in XGI_main_26.c

This is a patch to the XGI_main_26 file that fixes many style
issues found by the checkpatch.pl tool.
- extra spaces
- invalid code indent
- extra braces
- invalid comment style

Signed-off-by: Prashant P. Shah <pshah.mumbai@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: rt2860: Fix brace coding style issue
Greg Kroah-Hartman [Mon, 6 Sep 2010 03:55:55 +0000 (20:55 -0700)]
Staging: rt2860: Fix brace coding style issue

This fixes a single brace issue in the rt_linux.c file.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: fix checkpatch and style
Bernie Thompson [Mon, 6 Sep 2010 01:29:56 +0000 (18:29 -0700)]
staging: udlfb: fix checkpatch and style

Fix warnings detected by tools

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: fix incorrect fb_defio implementation for multiple framebuffers
Bernie Thompson [Mon, 6 Sep 2010 01:28:29 +0000 (18:28 -0700)]
staging: udlfb: fix incorrect fb_defio implementation for multiple framebuffers

Fix fb_defio bug in udlfb for multiple framebuffers

Previously when using fb_defio with multiple DisplayLink attached displays
udlfb incorrectly used a shared datastructure where it needed to have
one per fb_info struct. This was completely broken and caused all kinds of
problems, including rendering to one framebuffer affecting others.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: cxt1e1: Kconfig: SBE_PMCC4_NCOMM can not be compiled as module, adjust help...
Michael Prokop [Sun, 5 Sep 2010 21:29:32 +0000 (23:29 +0200)]
Staging: cxt1e1: Kconfig: SBE_PMCC4_NCOMM can not be compiled as module, adjust help description

The Kconfig description for CONFIG_SBE_PMCC4_NCOMM says:

  If you have purchased this optional support you must say Y or M
  here to allow the driver to operate with the NCOMM product.

This is not correct as it can not be built as module,
this patch updates the description accordingly.

Signed-off-by: Michael Prokop <mika@grml.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: comedi: Fix unsigned return type
Julia Lawall [Sun, 5 Sep 2010 19:00:24 +0000 (21:00 +0200)]
Staging: comedi: Fix unsigned return type

In each case, the function has an unsigned return type, but returns a
negative constant to indicate an error condition.  For move_block_from_dma,
there is only one call and the return value is dropped, so it need not be
unsigned.  For labpc_eeprom_write, there is only one call and the result is
stored in a signed variable, so again the unsigned return type is not
necessary.

A sematic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@exists@
identifier f;
constant C;
@@

 unsigned f(...)
 { <+...
*  return -C;
 ...+> }
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: westbridge: improve error path
Vasiliy Kulikov [Sun, 5 Sep 2010 18:32:53 +0000 (22:32 +0400)]
staging: westbridge: improve error path

kmalloc() may fail, check for it.
Allocated memory is not freed.
Use IS_ERR() instead of strict checking.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Cc: David Cross <david.cross@cypress.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: ath6kl: check return code of get_user and put_user
Vasiliy Kulikov [Sun, 5 Sep 2010 18:32:29 +0000 (22:32 +0400)]
staging: ath6kl: check return code of get_user and put_user

Function get_user may fail. Check for it.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: comedi: check return code of put_user
Vasiliy Kulikov [Sun, 5 Sep 2010 18:32:33 +0000 (22:32 +0400)]
staging: comedi: check return code of put_user

Function put_user may fail. Check for it.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: tidspbridge: check return code of get_user
Vasiliy Kulikov [Sun, 5 Sep 2010 18:32:45 +0000 (22:32 +0400)]
staging: tidspbridge: check return code of get_user

Function get_user may fail. Check for it.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: rtl8192u: improve error path
Vasiliy Kulikov [Sun, 5 Sep 2010 18:32:41 +0000 (22:32 +0400)]
staging: rtl8192u: improve error path

Functions alloc_ieee80211 and register_netdev may fail. Check for it.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: tidspbridge: check return code of kzalloc
Vasiliy Kulikov [Sun, 5 Sep 2010 18:32:49 +0000 (22:32 +0400)]
staging: tidspbridge: check return code of kzalloc

Function kzalloc may fail. Check for it.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: add module options for console and fb_defio
Bernie Thompson [Sun, 5 Sep 2010 23:35:39 +0000 (16:35 -0700)]
staging: udlfb: add module options for console and fb_defio

Add module options for console and fb_defio

Convert fb_defio on/off switch to module option and add console option.

>From the command line, pass options to modprobe
modprobe udlfb defio=1 console=1

Or for permanent option, create file like /etc/modprobe.d/options with text
options udlfb defio=1 console=1

Accepted options:

fb_defio Make use of the fb_defio (CONFIG_FB_DEFERRED_IO) kernel
module to track changed areas of the framebuffer by page faults.
         Standard fbdev applications that use mmap but that do not
report damage, may be able to work with this enabled.
Disabled by default because of overhead and other issues.

console Allow fbcon to attach to udlfb provided framebuffers. This
is disabled by default because fbcon will aggressively consume
the first framebuffer it finds, which isn't usually what the
user wants in the case of USB displays.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: support for writing backup EDID to sysfs file
Bernie Thompson [Sun, 5 Sep 2010 23:35:31 +0000 (16:35 -0700)]
staging: udlfb: support for writing backup EDID to sysfs file

Support writing default/backup edid via /sys/class/graphics/fb?/edid

Writing a backup edid blob to the 'edid' file will cause udlfb to
attempt to re-read the edid from hardware.
If we still don't have a good edid, it will use the backup edid instead.
The intent is to 1) enable user-supplied edid
2) enable udev rules to backup the last known good edid
for a device, and then provide that edid as a backup for all future starts

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: fix big endian rendering error
Bernie Thompson [Sun, 5 Sep 2010 23:35:27 +0000 (16:35 -0700)]
staging: udlfb: fix big endian rendering error

Fix big endian rendering bug (affects PowerPC)

Thanks to Christian Melki at Ericsson for finding and suggesting patch.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: enhance EDID and mode handling support
Bernie Thompson [Sun, 5 Sep 2010 23:35:23 +0000 (16:35 -0700)]
staging: udlfb: enhance EDID and mode handling support

Enhance EDID and mode table handling

* Adds support for lower-end DL chips on higher-end monitors
* Adds support for using fbdev standard EDID parsing and handling
* Adds support for more dynamic reallocation of framebuffer, based on new EDID

Queries EDID from hardware with several retries then
queries DisplayLink chip for max pixel area via vendor descriptor.
Uses existing fbdev mode handling service funcations to build mode list
of common modes between adapter and monitor.
This enables lower-end chips (e.g. DL-125) to successfully pick a compatible
mode on higher end monitors (e.g. whose default mode is over 1280x1024).
Reallocate framebuffer if necessary in response to new max mode.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: revamp reference handling to insure successful shutdown
Bernie Thompson [Sun, 5 Sep 2010 23:35:19 +0000 (16:35 -0700)]
staging: udlfb: revamp reference handling to insure successful shutdown

Revamp reference handling and synchronization for unload/shutdown

Udlfb is a "virtual" framebuffer device that really exists on
two separate stacks: at the bottom of the framebuffer interface,
and on top of USB.  During unload, there's no guarantee which
one will tear down first. So reference counting must be solid
to handle all possibilities and not access anything once its gone.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: remove metrics_misc sysfs attribute
Bernie Thompson [Sun, 5 Sep 2010 23:35:15 +0000 (16:35 -0700)]
staging: udlfb: remove metrics_misc sysfs attribute

Remove metrics_misc sysfs attribute

Previously returned multiple values, which goes against sysfs guidelines.
Had been used for debugging to figure out which of the multiple
fbdev interfaces an app was using, but log file messages are sufficient.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: add DPMS support
Bernie Thompson [Sun, 5 Sep 2010 23:35:10 +0000 (16:35 -0700)]
staging: udlfb: add DPMS support

Add ability to power off monitor with standard blanking interface

Used by X servers and others to manage power of dislpay

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: fbdev character read and write support
Bernie Thompson [Sun, 5 Sep 2010 23:35:04 +0000 (16:35 -0700)]
staging: udlfb: fbdev character read and write support

Restore fbdev character read and write support

Enables access to the framebuffer from simple reads and writes
to /dev/fb0 (or fb1, ...). Low performance, because of extra copy
and because udlfb must scan every pixel for changes. But very
useful for testing and simple image display, etc.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: udlfb: Add intro udlfb documentation
Bernie Thompson [Sun, 5 Sep 2010 23:34:58 +0000 (16:34 -0700)]
staging: udlfb: Add intro udlfb documentation

Add documentation for the udlfb framebuffer driver for DisplayLink devices.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: lirc: Remove unnecessary casts of private_data
Joe Perches [Sun, 5 Sep 2010 01:52:47 +0000 (18:52 -0700)]
staging: lirc: Remove unnecessary casts of private_data

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agostaging: xgifb: Removes unused variable
Javier Martinez Canillas [Sat, 4 Sep 2010 23:08:20 +0000 (19:08 -0400)]
staging: xgifb: Removes unused variable

Signed-off-by: Javier Martinez Canillas <martinez.javier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: Update mtu of bat device by changing mtu of slave device
Sven Eckelmann [Sat, 4 Sep 2010 23:58:38 +0000 (01:58 +0200)]
Staging: batman-adv: Update mtu of bat device by changing mtu of slave device

We must reduce our own mtu when we reduce the mtu of any device we use
to transfer our packets. Otherwise we may accept to large packets which
gets dropped by the actual device.

Reported-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: Don't inform about dropped packets in nodebug
Sven Eckelmann [Sat, 4 Sep 2010 23:58:37 +0000 (01:58 +0200)]
Staging: batman-adv: Don't inform about dropped packets in nodebug

Information about dropped packets are usually only interesting for
debugging purposes and otherwise open the possibility to flood the logs
of the target machine with useless information.

pr_debug will not output those information on a nodebug kernel.

Reported-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: Remove duplicate of attached device name
Sven Eckelmann [Sat, 4 Sep 2010 23:58:36 +0000 (01:58 +0200)]
Staging: batman-adv: Remove duplicate of attached device name

batman_if has the name of the net_dev as extra string in its own
structure, but also holds a reference to the actual net_device structure
which always has the current name of the device. This makes it
unneccessary and also more complex because we must update the name in
situations when we receive a NETDEV_CHANGENAME event.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: multiple mesh clouds
Marek Lindner [Sat, 4 Sep 2010 23:58:35 +0000 (01:58 +0200)]
Staging: batman-adv: multiple mesh clouds

This patch removes all remaining global variables and includes the
necessary bits into the bat_priv structure. It is the last
remaining piece to allow multiple concurrent mesh clouds on the
same device.
A few global variables have been rendered obsolete during the process
and have been removed entirely.

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>
13 years agoStaging: batman-adv: attach each hard-interface to a soft-interface
Marek Lindner [Sat, 4 Sep 2010 23:58:34 +0000 (01:58 +0200)]
Staging: batman-adv: attach each hard-interface to a soft-interface

This patch replaces the static bat0 interface with a dynamic/abstracted
approach. It is now possible to create multiple batX interfaces by
assigning hard interfaces to them. Each batX interface acts as an
independent mesh network. A soft interface is removed once no hard
interface references it any longer.

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>
13 years agoStaging: batman-adv: Provide full headers and packets as linear skb
Sven Eckelmann [Sat, 4 Sep 2010 23:58:33 +0000 (01:58 +0200)]
Staging: batman-adv: Provide full headers and packets as linear skb

We must ensure that all interesting data is linear and not paged out to
access all information in a header or a full batman-adv related packet.
Otherwise we may drop packets which have non-linear headers but which
hold valid data.

This doesn't affect non-linear skbs which have all headers in a linear
head unless we must process the whole packet like in ogms or vis
packets.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: Create copy of skb with pre-allocated headroom
Sven Eckelmann [Sat, 4 Sep 2010 23:58:32 +0000 (01:58 +0200)]
Staging: batman-adv: Create copy of skb with pre-allocated headroom

We can use skb_cow instead of a handwritten function to test and create
a writable skb buffer. This also allows us to pre-allocate headroom to
be able to send the data without re-allocating the buffer again to add
the ethernet header.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: Prepare vis packets directly inside a skb
Sven Eckelmann [Sat, 4 Sep 2010 23:58:31 +0000 (01:58 +0200)]
Staging: batman-adv: Prepare vis packets directly inside a skb

The vis information structure is used in a way that it can be transfered
directly as packet. It still had to be copied into a skb because of an
extra buffer used for the actual preparation of the data. This is
unnecessary and can be replaced by a simple clone instead of an full
copy before each send.

This makes also the send_raw_packet function obsolete.

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>
13 years agoStaging: batman-adv: Aggregate batman packets directly in skb
Sven Eckelmann [Sat, 4 Sep 2010 23:58:30 +0000 (01:58 +0200)]
Staging: batman-adv: Aggregate batman packets directly in skb

All originator messages are send through aggregation buffers. Those
buffers can directly be allocated as skb to reduce the cost of
allocation an extra buffer and copying them to a new allocated skb
directly before it gets send.

Now only the skb must be cloned in case of send_packet_to_if as it gets
called by send_packet for each interface. Non-primary ogms must not
cloned at all because they will only send once and the forward_packet
structure is freed by send_outstanding_bat_packet afterwards.

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>
13 years agoStaging: batman-adv: Only clone skb data for multiple broadcasts
Sven Eckelmann [Sat, 4 Sep 2010 23:58:29 +0000 (01:58 +0200)]
Staging: batman-adv: Only clone skb data for multiple broadcasts

batman-adv tries to resend broadcasts on all interfaces up to three
times. For each round and each interface it must provide a skb which
gets consumed by the sending function.

It is unnecessary to copy the data of each broadcast because the actual
data is either not shared or already copied by add_bcast_packet_to_list.
So it is enough to just copy the skb control data

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>
13 years agoStaging: batman-adv: Keep header writable and unshared
Sven Eckelmann [Sat, 4 Sep 2010 23:58:28 +0000 (01:58 +0200)]
Staging: batman-adv: Keep header writable and unshared

my_skb_push provided an easy way to allocate enough headroom in
situation were we don't have enough space left and move the data pointer
to the new position, but we didn't checked wether we are allowed to
write to the new pushed header. This is for example a problem when the
skb was cloned and thus doesn't have a private data part.

my_skb_head_push now replaces my_skb_push by using skb_cow_head to
provide only a large enough, writable header without testing for the
rest of the (maybe shared) data. It will also move the data pointer
using skb_push when skb_cow_head doesn't fail.

This should give us enough flexibility in situation were skbs will be
queued by underlying layers and still doesn't unnecessarily copy the
data in situations when the skb was consumed right away during
dev_queue_xmit.

Reported-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>
13 years agoStaging: batman-adv: register the batman-adv packet type per interface
Marek Lindner [Sat, 4 Sep 2010 23:58:27 +0000 (01:58 +0200)]
Staging: batman-adv: register the batman-adv packet type per interface

Batman-adv globally registered the batman-adv packet type and installed
a hook to batman_skb_recv(). Each interface receiving a packet with that
type would end up in this function which then had to loop through all
batman-adv internal interface structures to find the its meta data. The
more interfaces a system had the longer the loops might take. Each and
every packet goes through this function making it a performance critical
loop.

This patch installs the hook for each activated interface. The called
batman_skb_recv() can distinguish these calls, therefore avoiding the
loop through the interface structures.

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>
13 years agoStaging: batman-adv: Directly prepare icmp packets in socket buffer
Sven Eckelmann [Sat, 4 Sep 2010 23:58:26 +0000 (01:58 +0200)]
Staging: batman-adv: Directly prepare icmp packets in socket buffer

It is unnecessary to generate an icmp packet in an extra memory region
and than copying it to a new allocated skb.

This also resolved the problem that we do inform the user that we
couldn't send the packet because we couldn't allocate the socket buffer.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: layer2 unicast packet fragmentation
Andreas Langer [Sat, 4 Sep 2010 23:58:25 +0000 (01:58 +0200)]
Staging: batman-adv: layer2 unicast packet fragmentation

This patch implements a simple layer2 fragmentation to allow traffic
exchange over network interfaces with a MTU smaller than 1500 bytes. The
fragmentation splits the big packets into two parts and marks the frames
accordingly. The receiving end buffers the packets to reassemble the
orignal packet before passing it to the higher layers. This feature
makes it necessary to modify the batman-adv encapsulation for unicast
packets by adding a sequence number, flags and the originator address.
This modifcation is part of a seperate packet type for fragemented
packets to keep the original overhead as low as possible. This patch
enables the feature by default to ensure the data traffic can travel
through the network. But it also prints a warning to notify the user
about the performance implications.

Note: Fragmentation should be avoided at all costs since it has a
dramatic impact on the performance, especially when it comes wifi
networks. Instead of a single packet, 2 packets have to be sent! Not
only valuable airtime is wasted but also packetloss decreases the
throughput. A link with 50% packetloss and fragmentation enabled is
pretty much unusable.

Signed-off-by: Andreas Langer <an.langer@gmx.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>
13 years agoStaging: batman-adv: refactoring unicast payload code
Marek Lindner [Sat, 4 Sep 2010 23:58:24 +0000 (01:58 +0200)]
Staging: batman-adv: refactoring unicast payload code

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>
13 years agoStaging: batman-adv: move queue counters into bat_priv
Simon Wunderlich [Sat, 4 Sep 2010 23:58:23 +0000 (01:58 +0200)]
Staging: batman-adv: move queue counters into bat_priv

to support multiple mesh devices later, we need to move global variables
like the queues into corresponding private structs bat_priv of the soft
devices.

Note that this patch still has a lot of FIXMEs and depends on the global
soft_device variable. This should be resolved later, e.g. by referencing
the parent soft device in batman_if.

Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.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>
13 years agoStaging: batman-adv: Calculate hamming weight using optimized kernel functions
Sven Eckelmann [Sat, 4 Sep 2010 23:58:22 +0000 (01:58 +0200)]
Staging: batman-adv: Calculate hamming weight using optimized kernel functions

The Kernighan algorithm is not able to calculate the number of set bits
in parallel and the compiler cannot replace it with optimized
instructions.

The kernel provides specialised functions for each cpu which can either
use a software implementation or hardware instruction depending on the
target cpu.

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>
13 years agoStaging: batman-adv: Count Ethernet header for incoming packets
Simon Wunderlich [Sat, 4 Sep 2010 23:58:21 +0000 (01:58 +0200)]
Staging: batman-adv: Count Ethernet header for incoming packets

The Ethernet header is counted when transmitting a packet, so it should also
be counted when receiving a packet. With this patch, the rx_bytes and tx_bytes
statistics behave like an ordinary Ethernet interface.

Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoStaging: batman-adv: Start new development cycle
Sven Eckelmann [Sat, 4 Sep 2010 23:58:20 +0000 (01:58 +0200)]
Staging: batman-adv: Start new development cycle

Version 2010.1.0 of the extra kernel module was released and thus the
documentation should be updated and everything prepared for the the
upcoming patchset.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>