GitHub/moto-9609/android_kernel_motorola_exynos9610.git
14 years agoStaging: rtl8192e: Clean formatting in rtl8192_tx()
Mike McCormack [Fri, 24 Sep 2010 09:39:31 +0000 (18:39 +0900)]
Staging: rtl8192e: Clean formatting in rtl8192_tx()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8192e: Remove dead code from rtl8192_tx
Mike McCormack [Fri, 24 Sep 2010 09:39:18 +0000 (18:39 +0900)]
Staging: rtl8192e: Remove dead code from rtl8192_tx

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8192e: Clean up rtl8192_halt_adapter()
Mike McCormack [Fri, 24 Sep 2010 09:39:09 +0000 (18:39 +0900)]
Staging: rtl8192e: Clean up rtl8192_halt_adapter()

Remove dead code, fix whitespace, clean comments

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8192e: Clean up rtl8192_qos_association_resp()
Mike McCormack [Fri, 24 Sep 2010 09:38:59 +0000 (18:38 +0900)]
Staging: rtl8192e: Clean up rtl8192_qos_association_resp()

Fix whitespace, remove dead code.

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8192e: Delete some dead code
Mike McCormack [Fri, 24 Sep 2010 09:38:51 +0000 (18:38 +0900)]
Staging: rtl8192e: Delete some dead code

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8192e: Clean up formatting in MapHwQueueToFirmwareQueue()
Mike McCormack [Fri, 24 Sep 2010 09:38:41 +0000 (18:38 +0900)]
Staging: rtl8192e: Clean up formatting in MapHwQueueToFirmwareQueue()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8192e: Clean up rtl8192_net_update()
Mike McCormack [Fri, 24 Sep 2010 09:38:23 +0000 (18:38 +0900)]
Staging: rtl8192e: Clean up rtl8192_net_update()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: west bridge, removal of " " before ";"
David Cross [Fri, 24 Sep 2010 00:24:45 +0000 (17:24 -0700)]
Staging: west bridge, removal of " " before ";"

This patch fixes removes all of the the " ;"'s in the west bridge driver
and instead replaces them with ";" only. Although this is a large patch,
this is the only thing that it does. I can break it up on a file basis
if needed.

Signed-off-by: David Cross <david.cross@cypress.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: west bridge, cyasgadget fix for usb_gadget_probe_driver
David Cross [Fri, 24 Sep 2010 00:20:00 +0000 (17:20 -0700)]
Staging: west bridge, cyasgadget fix for usb_gadget_probe_driver

This patch fixes the west bridge cyasgadget driver in order to allow for
compilation against the linux-next tree. This changes
usb_gadget_register_driver to usb_gadget_probe_driver and updates this
function based on the new function definition (bind call).

Signed-off-by: David Cross <david.cross@cypress.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: brcm80211: remove Module.symvers file from the tree
Greg Kroah-Hartman [Thu, 30 Sep 2010 01:07:31 +0000 (18:07 -0700)]
Staging: brcm80211: remove Module.symvers file from the tree

This shouldn't have been in the tree, it's generated by the build, so
remove it.

Cc: Henry Ptasinski <henryp@broadcom.com>
Cc: Nohee Ko <noheek@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: olpc_dcon: drop old VT switch code, watch for CONBLANK event
Andres Salomon [Sun, 26 Sep 2010 02:06:30 +0000 (19:06 -0700)]
staging: olpc_dcon: drop old VT switch code, watch for CONBLANK event

Eons ago, in a galaxy far far away, Jordan committed code to work around
the fact that X might have put the DCON to sleep and then crashed (in that
galaxy, X crashed a lot; crazy, right?)

This code was based on a custom API.  These days, we have code which watches
for FB unblanks, and should perform the same function.. Therefore, the older
code can be dropped.  We should probably be watching for CONBLANK events to,
so allow those to turn the DCON back on.

Dropping the old code is necessary for building the driver.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: olpc_dcon: add people to the Cc list
Andres Salomon [Sun, 26 Sep 2010 02:05:50 +0000 (19:05 -0700)]
staging: olpc_dcon: add people to the Cc list

Some additional folks requested to be Cc'd for OLPC-DCON changes; add them
to the TODO file.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: olpc_dcon: remove outdated backlight comment
Andres Salomon [Sat, 25 Sep 2010 06:50:16 +0000 (23:50 -0700)]
staging: olpc_dcon: remove outdated backlight comment

This comment about killing power to the backlight is ancient, and incorrect
(the code that follows actually does the opposite of what the comment says).
This was due to hardware changes; the comment was for the original OLPC GX2
boards, but when the OLPC LX boards came out, the code was updated for that
hardware.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: olpc_dcon: add TODO file
Andres Salomon [Sat, 25 Sep 2010 06:48:34 +0000 (23:48 -0700)]
staging: olpc_dcon: add TODO file

Add and populate a TODO file for the olpc_dcon driver.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: olpc_dcon: drop XO-1.5 support for now
Andres Salomon [Sat, 25 Sep 2010 02:14:38 +0000 (19:14 -0700)]
staging: olpc_dcon: drop XO-1.5 support for now

The vx855 stuff isn't upstream yet; for now, drop support for XO-1.5.
This will come back once the 1.5 code is in place (and will be in a form
that allows both 1.0 and 1.5 support to be compiled in at the same time),
but for now just remove it.  This is necessary to get the driver building.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: olpc_dcon: switch back to using olpc_board(0xXX)
Andres Salomon [Sat, 25 Sep 2010 02:14:09 +0000 (19:14 -0700)]
staging: olpc_dcon: switch back to using olpc_board(0xXX)

...Rather than macros that don't exist.  Necessary for building the
driver.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: olpc_dcon: add OLPC display controller (DCON) support
Andres Salomon [Sat, 25 Sep 2010 02:13:42 +0000 (19:13 -0700)]
staging: olpc_dcon: add OLPC display controller (DCON) support

This adds DCON support for the OLPC XO.  The DCON is found in XO-1 and
XO-1.5 hardware.  The XO-1 has a CS5536 southbridge, while the XO-1.5
has a Via chipset; the GPIO magic that's necessary to communicate with
the DCON chip is unfortunately different across both platforms.  This
driver supports both.

This driver is in bad state atm, so I'm requesting its inclusion into
staging so it can be cleaned up while staying in the kernel tree.

Original driver by Dave Woodhouse, and modified extensively by
Jordan Crouse, myself, Deepak Saxena, Paul Fox, Daniel Drake, and
probably others that I've missed.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: update web addresses in staging
Justin P. Mattock [Sat, 25 Sep 2010 00:08:56 +0000 (17:08 -0700)]
staging: update web addresses in staging

The below patch, is a simple fix to a broken web address not using a period in it's
name.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: brcm80211: Make compiling of brcm80211.ko and brcmfmac.ko mutually exclusive.
Henry Ptasinski [Sun, 26 Sep 2010 20:19:44 +0000 (13:19 -0700)]
staging: brcm80211: Make compiling of brcm80211.ko and brcmfmac.ko mutually exclusive.

Temporary fix until utils get cleaned up.

Signed-off-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: brcm80211: Fix compile issue when BRCM80211_PCI is not set.
Henry Ptasinski [Sun, 26 Sep 2010 20:18:38 +0000 (13:18 -0700)]
staging: brcm80211: Fix compile issue when BRCM80211_PCI is not set.

Signed-off-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: brcm80211: remove driver specific -W options
Greg Kroah-Hartman [Thu, 23 Sep 2010 23:36:06 +0000 (16:36 -0700)]
Staging: brcm80211: remove driver specific -W options

A single driver shouldn't be overriding the kernel-wide -W options.
This removes them from the Makefile.

Bonus is that the code at least now will build on a 64bit platform.
Problem is that both drivers can't be built at the same time right now
or bad things happen when linking.

Cc: Henry Ptasinski <henryp@broadcom.com>
Cc: Nohee Ko <noheek@broadcom.com>
Cc: jason <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: brcm80211: clean up makefile cflag lines
Greg Kroah-Hartman [Thu, 23 Sep 2010 23:28:53 +0000 (16:28 -0700)]
Staging: brcm80211: clean up makefile cflag lines

Change to use the proper ccflags-y option, as well as splitting the
options out one-per-line so that we can see what is needed to be cleaned
up and removed over time.

Cc: Henry Ptasinski <henryp@broadcom.com>
Cc: Nohee Ko <noheek@broadcom.com>
Cc: jason <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: ft1000: mark pcmcia driver broken
Greg Kroah-Hartman [Wed, 22 Sep 2010 19:17:16 +0000 (12:17 -0700)]
Staging: ft1000: mark pcmcia driver broken

The driver hasn't been updated since the .30 kernel release and will
not build due to pcmcia api changes.  Mark it broken for now so no
one hits it in their build accidentally.

Cc: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: ft1000: fix mode of firmware image file
Greg Kroah-Hartman [Wed, 22 Sep 2010 15:35:42 +0000 (08:35 -0700)]
Staging: ft1000: fix mode of firmware image file

It should not be executable.

Cc: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: ft1000: remove trailing whitespace
Greg Kroah-Hartman [Wed, 22 Sep 2010 15:34:49 +0000 (08:34 -0700)]
Staging: ft1000: remove trailing whitespace

Lots of trailing whitespace was removed

Cc: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: ft1000: fix build
Greg Kroah-Hartman [Wed, 22 Sep 2010 15:24:41 +0000 (08:24 -0700)]
Staging: ft1000: fix build

This fixes the build for the ft100-usb driver so it builds
properly.

Cc: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: Add support for Flarion OFDM usb and pcmcia devices.
Marek Belisko [Wed, 22 Sep 2010 05:56:27 +0000 (07:56 +0200)]
Staging: Add support for Flarion OFDM usb and pcmcia devices.

This drivers add support for following devices:

(usb)-> Qleadtek FLASH-OFDM USB Modem [LR7F04]
     -> Qleadtek Express Card
     -> Leadtek Multi-band modem HSDPA

Sources for usb:
https://sourceforge.net/projects/ft1000/files/ft1000_usb/ft1000_usb_v01.04.tar.gz/download

(pcmcia) -> Multimedia Net Card

Sources for pcmcia :
https://sourceforge.net/projects/ft1000/files/ft1000_pcmcia_2.6.30-2.6.31.tgz/download

More informations (in Slovak language):
http://ft1000.qintec.sk/home.html

Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: line6: minor coding style cleanups
Greg Kroah-Hartman [Tue, 21 Sep 2010 23:58:00 +0000 (16:58 -0700)]
Staging: line6: minor coding style cleanups

This fixes up all of the remaining coding style issues that
make any sense to make in the line6 driver.

Cc: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: line6: remove unneeded EXPORT_SYMBOL() usage
Greg Kroah-Hartman [Tue, 21 Sep 2010 23:18:13 +0000 (16:18 -0700)]
staging: line6: remove unneeded EXPORT_SYMBOL() usage

These symbols don't need to be exported as nothing uses them, so don't.

Cc: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: keucr: prevent the driver from being built as a module.
Greg Kroah-Hartman [Tue, 21 Sep 2010 18:03:41 +0000 (11:03 -0700)]
Staging: keucr: prevent the driver from being built as a module.

As there are symbols that conflict with the in-kernel usb-storage
module, we can't build this into the kernel.

Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Al Cho <acho@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: usbip: Process event flags without delay
Max Vozeler [Tue, 21 Sep 2010 15:43:30 +0000 (17:43 +0200)]
staging: usbip: Process event flags without delay

The way the event handler works can cause it to delay
events until eventual wakeup for another event.

For example, on device detach (vhci):

 - Write to sysfs detach file
    -> usbip_event_add(VDEV_EVENT_DOWN)
      -> wakeup()

#define VDEV_EVENT_DOWN (USBIP_EH_SHUTDOWN | USBIP_EH_RESET).

 - Event thread wakes up and passes the event to
   event_handler() to process.

 - It processes and clears the USBIP_EH_SHUTDOWN
   flag then returns.

 - The outer event loop (event_handler_loop()) calls
   wait_event_interruptible().

The processing of the second flag which is part of
VDEV_EVENT_DOWN (USBIP_EH_RESET) did not happen yet.
It is delayed until the next event.

This means the ->reset callback may not happen for
a long time (if ever), leaving the usbip port in a
weird state which prevents its reuse.

This patch changes the handler to process all flags
before waiting for another wakeup.

I have verified this change to fix a problem which
prevented reattach of a usbip device. It also helps
for socket errors which missed the RESET as well.

The delayed event processing also affects the stub
side of usbip and the error handling there.

Signed-off-by: Max Vozeler <mvz@vozeler.com>
Reported-by: Marco Lancione <marco@optikam.com>
Tested-by: Luc Jalbert <ljalbert@optikam.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: usbip: Notify usb core of port status changes
Max Vozeler [Tue, 21 Sep 2010 15:31:40 +0000 (17:31 +0200)]
staging: usbip: Notify usb core of port status changes

This patch changes vhci to behave like dummy and
other hcds when disconnecting a device.

Previously detaching a device from the root hub
did not notify the usb core of the disconnect and
left the device visible.

Signed-off-by: Max Vozeler <mvz@vozeler.com>
Reported-by: Marco Lancione <marco@optikam.com>
Tested-by: Luc Jalbert <ljalbert@optikam.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Clean up rtl8192_hard_start_xmit()
Mike McCormack [Mon, 20 Sep 2010 14:12:50 +0000 (23:12 +0900)]
staging: rtl8192e: Clean up rtl8192_hard_start_xmit()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Remove some dead code
Mike McCormack [Mon, 20 Sep 2010 14:12:40 +0000 (23:12 +0900)]
staging: rtl8192e: Remove some dead code

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Remove dead code in CamResetAllEntry()
Mike McCormack [Mon, 20 Sep 2010 14:12:29 +0000 (23:12 +0900)]
staging: rtl8192e: Remove dead code in CamResetAllEntry()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Fix indent of some functions
Mike McCormack [Mon, 20 Sep 2010 14:12:18 +0000 (23:12 +0900)]
staging: rtl8192e: Fix indent of some functions

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Remove dead code from rtl8192_set_chan()
Mike McCormack [Mon, 20 Sep 2010 14:12:09 +0000 (23:12 +0900)]
staging: rtl8192e: Remove dead code from rtl8192_set_chan()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Remove commented function rtl8192_set_mode()
Mike McCormack [Mon, 20 Sep 2010 14:11:59 +0000 (23:11 +0900)]
staging: rtl8192e: Remove commented function rtl8192_set_mode()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Remove empty function force_pci_posting()
Mike McCormack [Mon, 20 Sep 2010 14:11:49 +0000 (23:11 +0900)]
staging: rtl8192e: Remove empty function force_pci_posting()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Clean up rtl8192_hard_data_xmit()
Mike McCormack [Mon, 20 Sep 2010 14:11:40 +0000 (23:11 +0900)]
staging: rtl8192e: Clean up rtl8192_hard_data_xmit()

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Clean up function headers
Mike McCormack [Mon, 20 Sep 2010 14:11:29 +0000 (23:11 +0900)]
staging: rtl8192e: Clean up function headers

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: rtl8192e: Delete dead and commented out code
Mike McCormack [Mon, 20 Sep 2010 14:11:14 +0000 (23:11 +0900)]
staging: rtl8192e: Delete dead and commented out code

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8187se: r8185b_init: fixed a lot of checkpatch.pl issues
Tracey Dent [Tue, 21 Sep 2010 01:19:42 +0000 (21:19 -0400)]
Staging: rtl8187se: r8185b_init: fixed a lot of checkpatch.pl issues

Fixed numerous coding style issues using checkpatch.pl

Signed-off-by: Tracey Dent <tdent48227@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8187se: r8180_wx: fixed a lot of checkptahc.pl issues
Tracey Dent [Tue, 21 Sep 2010 01:19:41 +0000 (21:19 -0400)]
Staging: rtl8187se: r8180_wx: fixed a lot of checkptahc.pl issues

Fixed numerous coding style issues using checkpatch.pl

Signed-off-by: Tracey Dent <tdent48227@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8187se: r8180_rtl8225: fixed a lot of checkpatch.pl issues
Tracey Dent [Tue, 21 Sep 2010 01:19:40 +0000 (21:19 -0400)]
Staging: rtl8187se: r8180_rtl8225: fixed a lot of checkpatch.pl issues

Fixed numerous coding style issues using checkpatch.pl

Signed-off-by: Tracey Dent <tdent48227@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8187se: r8180_hw: fixed a lot of checkpatch.pl issues
Tracey Dent [Tue, 21 Sep 2010 01:19:39 +0000 (21:19 -0400)]
Staging: rtl8187se: r8180_hw: fixed a lot of checkpatch.pl issues

Fixed numerous coding style issues using checkpatch.pl

Signed-off-by: Tracey Dent <tdent48227@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: rtl8187se: r8180.h: fixed alot of checkpatch.pl issues
Tracey Dent [Tue, 21 Sep 2010 01:19:38 +0000 (21:19 -0400)]
Staging: rtl8187se: r8180.h: fixed alot of checkpatch.pl issues

Fixed numerous coding style issues

Signed-off-by: Tracey Dent <tdent48227@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: winbond: mds.c: Fixed all checkpatch's errors
Victor Rosales [Sun, 19 Sep 2010 20:53:00 +0000 (17:53 -0300)]
staging: winbond: mds.c: Fixed all checkpatch's errors

Just fixed all checkpatch's errors but not the warinings.

Signed-off-by: Victor Rosales <victorhrosales@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Add locking problems to TODO list
Pekka Enberg [Sun, 19 Sep 2010 10:04:21 +0000 (13:04 +0300)]
staging: w35und: Add locking problems to TODO list

The w35und uses atomics such as "ThreadCount" and "FireCount" to emulate
locking in the TX paths, for example. Document this bug in the TODO list.

Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Inline MLMESendFrame() to wbsoft_tx()
Pekka Enberg [Sun, 19 Sep 2010 10:01:03 +0000 (13:01 +0300)]
staging: w35und: Inline MLMESendFrame() to wbsoft_tx()

The wbsoft_tx() function is a simple wrapper on top of MLMESendFrame() so
inline the latter to the former.

Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Use NETDEV_TX_BUSY if MLMESendFrame fails
Pekka Enberg [Sun, 19 Sep 2010 10:01:02 +0000 (13:01 +0300)]
staging: w35und: Use NETDEV_TX_BUSY if MLMESendFrame fails

This patch changes MLMESendFrame to return NETDEV_TX_BUSY if MLME frame is in
use so that wbsoft_tx() doesn't blindly return NETDEV_TX_OK in that case.

Cc: Sandro Bonazzola <sandro.bonazzola@gmail.com>
Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Remove unused fields from struct wbsoft_priv
Pekka Enberg [Sun, 19 Sep 2010 09:28:43 +0000 (12:28 +0300)]
staging: w35und: Remove unused fields from struct wbsoft_priv

This patch removes unused fields from "struct wbsoft_priv".

Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Remove unused spinlocks
Pekka Enberg [Sun, 19 Sep 2010 09:28:42 +0000 (12:28 +0300)]
staging: w35und: Remove unused spinlocks

This patch removes unused spinlocks from "struct mlme_frame" and "struct
wbsoft_priv".

Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Inline mlme_s.h to core.h
Pekka Enberg [Sun, 19 Sep 2010 09:28:41 +0000 (12:28 +0300)]
staging: w35und: Inline mlme_s.h to core.h

The mlme_s.h header is included in one place. As the header is very small, just
inline it to core.h.

Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Remove dead code from mlme_s.h
Pekka Enberg [Sun, 19 Sep 2010 09:28:40 +0000 (12:28 +0300)]
staging: w35und: Remove dead code from mlme_s.h

There's bunch of macros in mlme_s.h that aren't used for anything. Kill them
off.

Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Kill unused scan_s.h header
Pekka Enberg [Sun, 19 Sep 2010 09:28:39 +0000 (12:28 +0300)]
staging: w35und: Kill unused scan_s.h header

The scan_s.h header is not actually used for anything so just kill it off.

Cc: Lars Lindley <lindley@coyote.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Remove remaining typedef declarations
Pekka Enberg [Sun, 19 Sep 2010 09:28:38 +0000 (12:28 +0300)]
staging: w35und: Remove remaining typedef declarations

This patch removes remaining typedef declarations from the w35und driver. Most
of them were unused so I just killed them off completely.

Cc: Lars Lindley <lindley@coyote.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: w35und: Kill dead HAL macros in wbhal_f.h
Pekka Enberg [Sun, 19 Sep 2010 09:28:37 +0000 (12:28 +0300)]
staging: w35und: Kill dead HAL macros in wbhal_f.h

Fixes an uninitialized variable access in _rx_iq_calibration_loop_winbond():

    CC [M]  drivers/staging/winbond/phy_calibration.o
  drivers/staging/winbond/phy_calibration.c: In function ‘_rx_iq_calibration_loop_winbond’:
  drivers/staging/winbond/phy_calibration.c:1138: warning: ‘val’ is used uninitialized in this function

Cc: Lars Lindley <lindley@coyote.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: sysfs abi documentation. Add _type and _index attrs
Jonathan Cameron [Tue, 21 Sep 2010 13:41:08 +0000 (14:41 +0100)]
staging: iio: sysfs abi documentation. Add _type and _index attrs

Also remove no unused precision attr.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: remove deprecated form of scan_el attribute naming.
Jonathan Cameron [Tue, 21 Sep 2010 13:41:07 +0000 (14:41 +0100)]
staging: iio: remove deprecated form of scan_el attribute naming.

This has been replaced by a separate _index attribute

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: sca3000 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:41:06 +0000 (14:41 +0100)]
staging: iio: sca3000 add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: max1363 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:41:05 +0000 (14:41 +0100)]
staging: iio: max1363 add _index attribute registration

Also fixes a missing NULL to terminate one of the attribute arrays.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16400 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:41:04 +0000 (14:41 +0100)]
staging: iio: adis16400 add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16350 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:41:03 +0000 (14:41 +0100)]
staging: iio: adis16350 add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16300 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:41:02 +0000 (14:41 +0100)]
staging: iio: adis16300 add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16260 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:41:01 +0000 (14:41 +0100)]
staging: iio: adis16260 add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16240 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:41:00 +0000 (14:41 +0100)]
staging: iio: adis16240 add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16209 add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:40:59 +0000 (14:40 +0100)]
staging: iio: adis16209 add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: lis3l02dq add _index attribute registration
Jonathan Cameron [Tue, 21 Sep 2010 13:40:58 +0000 (14:40 +0100)]
staging: iio: lis3l02dq add _index attribute registration

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: amend macros for SCAN_EL creation to add separate index attr
Jonathan Cameron [Tue, 21 Sep 2010 13:40:57 +0000 (14:40 +0100)]
staging: iio: amend macros for SCAN_EL creation to add separate index attr

As Manuel Stahl observed, putting data into the naming of an attribute
(beyond what it is for) breaks the one value per attribute rule (in spirit
at least).  Hence we introduce a separate _index attribute for each scan
element to tell userspace the ordering in output from the buffer.

This will generate a lot of sparse warnings as all drivers will have unused
iio_const_attrs created.  The rest of the set will clean these up.

The final patch will remove the old indexing method. It is not here so
as to maintain one or other interface for all devices as this set
progresses.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: Remove unused bit_count from struct iio_scan_el
Jonathan Cameron [Tue, 21 Sep 2010 13:40:56 +0000 (14:40 +0100)]
staging: iio: Remove unused bit_count from struct iio_scan_el

The job this was intended to do (never implemented) is now done
by explicit definition of _type attributes in all drivers

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16400 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:55 +0000 (14:40 +0100)]
staging: iio: adis16400 add _type attributes for all scan elements

The bit depth of 14 for the supply adc on the datasheet is highly
suspicious.  Confirmation requested from Analog.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16350 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:54 +0000 (14:40 +0100)]
staging: iio: adis16350 add _type attributes for all scan elements

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16300 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:53 +0000 (14:40 +0100)]
staging: iio: adis16300 add _type attributes for all scan elements

Note some of the in driver type specifications do not match the
data sheet.  I am assuming the datasheet is correct. This bug
would not have been apparent in the driver as these values were
unusued.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16260 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:52 +0000 (14:40 +0100)]
staging: iio: adis16260 add _type attributes for all scan elements

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: sca3000 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:51 +0000 (14:40 +0100)]
staging: iio: sca3000 add _type attributes for all scan elements

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16240 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:50 +0000 (14:40 +0100)]
staging: iio: adis16240 add _type attributes for all scan elements

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: adis16209 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:49 +0000 (14:40 +0100)]
staging: iio: adis16209 add _type attributes for all scan elements

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: max1363 add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:48 +0000 (14:40 +0100)]
staging: iio: max1363 add _type attributes for all scan elements

As both signed and unsigned in attributes exist, each element must
be fully specified.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: iio: lis3l02dq add _type attributes for all scan elements
Jonathan Cameron [Tue, 21 Sep 2010 13:40:47 +0000 (14:40 +0100)]
staging: iio: lis3l02dq add _type attributes for all scan elements

Also, adds a macro to make defining such attributes simple.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: brcm80211: add fullmac driver
Henry Ptasinski [Tue, 21 Sep 2010 05:33:12 +0000 (22:33 -0700)]
staging: brcm80211: add fullmac driver

This patch to the existing bcm80211 directory in the staging tree adds fullmac
driver support for the BCM4329 SDIO chip from Broadcom.  Configuration of the
mac80211 driver or the fullmac driver can be done through menuconfig.

Signed-off-by: Henry Ptasinski <henryp@broadcom.com>
Signed-off-by: Nohee Ko <noheek@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: line6: workaround for null pointer bug
Markus Grabner [Fri, 17 Sep 2010 21:33:25 +0000 (23:33 +0200)]
Staging: line6: workaround for null pointer bug

Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: spectra: off by one
Vasiliy Kulikov [Sun, 19 Sep 2010 12:54:40 +0000 (16:54 +0400)]
staging: spectra: off by one

g_pBlockTable has only DeviceInfo.wDataBlockNum elements.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: keucr: check kmalloc() return value
Vasiliy Kulikov [Sun, 19 Sep 2010 07:36:23 +0000 (11:36 +0400)]
staging: keucr: check kmalloc() return value

kmalloc() may fail, if so return error code.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: ti-st: mv headers to ti_wilink_st
Pavan Savoy [Fri, 17 Sep 2010 16:06:11 +0000 (12:06 -0400)]
staging: ti-st: mv headers to ti_wilink_st

move all the header information to ti_wilink_st.h.
This header would then not only serve the local modules like the st_core.c,
st_kim.c and st_ll.c but also the external modules/protocol drivers that are
dependent on the shared transport driver.
Modify the source files to include the new header ti_wilink_st.h,

Signed-off-by: Pavan Savoy <pavan_savoy@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: ti-st: set right the data types
Pavan Savoy [Fri, 17 Sep 2010 16:06:10 +0000 (12:06 -0400)]
staging: ti-st: set right the data types

replace uint and family by a much more proper u8/u16 types.
This is required specifically for data members of structures coming
in from the chip and data members parsed from the binary firmware file.

Signed-off-by: Pavan Savoy <pavan_savoy@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: ath6kl: Fixing a race condition during initialization
Vipin Mehta [Fri, 17 Sep 2010 16:55:15 +0000 (09:55 -0700)]
staging: ath6kl: Fixing a race condition during initialization

The commit fixes a race condition in the initialization portion of the
driver. The problem was observed while testing with the kernel in the
staging-next tree. The wait on the ready event is signalled prematurely
before setting the arVersion.wlan_ver and arVersion.abi_ver. The code
waiting on this semaphore checks for the validity of these values and
hence may proceed with an un-updated values of these fields. The wakeup
signal is now sent after these values are set.

Signed-off-by: Vipin Mehta <vmehta@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: ath6kl: Fixing a compile error
Vipin Mehta [Sat, 18 Sep 2010 01:14:33 +0000 (18:14 -0700)]
staging: ath6kl: Fixing a compile error

The commit fixes a compilation error that was encountered while using
a specific kernel configuration file. The problem was the use of some
functions defined in <linux/semaphore.h> without including the header
file explicitly. It was probably working before because of the
dependency getting implicitly satisfied via some other header file.

Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Vipin Mehta <vmehta@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agostaging: ath6kl: Removing duplicate includes
Vipin Mehta [Sat, 18 Sep 2010 01:26:03 +0000 (18:26 -0700)]
staging: ath6kl: Removing duplicate includes

Eliminating the inclusion of the same header file more than once.
The files being removed are already included by osapi_linux.h.

Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Vipin Mehta <vmehta@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: comedi: fix printk() coding style issue in adl_pci9111.c
Maurice Dawson [Thu, 16 Sep 2010 19:10:49 +0000 (20:10 +0100)]
Staging: comedi: fix printk() coding style issue in adl_pci9111.c

This is a patch to the adl_pci9111.c file that fixes all, printk() should
include KERN-facility level, warnings found by the checkpatch.pl tool

Signed-off-by: Maurice Dawson <mauricedawson2699@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: vt6655: remove unused update_BssList definition
Charles Clément [Fri, 17 Sep 2010 09:46:29 +0000 (11:46 +0200)]
Staging: vt6655: remove unused update_BssList definition

Signed-off-by: Charles Clément <caratorn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: Introduce update_primary_addr to update mac address
Marek Lindner [Sat, 18 Sep 2010 19:01:22 +0000 (21:01 +0200)]
Staging: batman-adv: Introduce update_primary_addr to update mac address

set_primary_if is currently misused to update the mac address in vis
packets. This unneeded and introduces overhead due to other operations
which must be done when updating the primary interface.

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>
14 years agoStaging: batman-adv: Track references of batman_if in set_primary_if
Sven Eckelmann [Sat, 18 Sep 2010 19:01:21 +0000 (21:01 +0200)]
Staging: batman-adv: Track references of batman_if in set_primary_if

set_primary_if exchanges the current primary interfaces with a new one.
This is a new reference and thus we have to count it and decrease the
count of the old primary interface.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: count batman_if list queries as reference
Sven Eckelmann [Sat, 18 Sep 2010 19:01:20 +0000 (21:01 +0200)]
Staging: batman-adv: count batman_if list queries as reference

The return of get_batman_if_by_netdev and get_active_batman_if leaks a
pointer from the rcu protected list of interfaces. We must protect it to
prevent a too early release of the memory. Those functions must increase
the reference counter before rcu_read_unlock or it may be to late to
prevent a free.

hardif_add_interface must also increase the reference count for the
returned batman_if to make the behaviour consistent.

Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: Use refcnt to track usage count of batman_if
Sven Eckelmann [Sat, 18 Sep 2010 19:01:19 +0000 (21:01 +0200)]
Staging: batman-adv: Use refcnt to track usage count of batman_if

get_batman_if_by_netdev and get_active_batman_if may leak data from the
rcu protected list of interfaces. The rcu protected list of all gateway
nodes leaks the actual data outside the read-side critical area. This is
not valid as we may free the data using a call_rcu created callback
after we unlock using rcu_read_unlock. A workaround is to provide a
reference count to be sure that the memory isn't freed to early.

It is currently only to implement the already existing functionality and
doesn't provide the full tracking of all usage cases.

Additionally, we must hardif_hold inside the
rcu_read_lock()..rcu_read_unlock() before we attach to the structure
which "leaks" it. When another function now removed it from its usage
context (primary_if, usage on stack, ...) then we must hardif_put it. If
it is decremented to zero then we can issue the call_rcu to the freeing
function. So "put" is not allowed inside an rcu_read_lock.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: Use synchronize_rcu instead of call_rcu
Sven Eckelmann [Sat, 18 Sep 2010 19:01:18 +0000 (21:01 +0200)]
Staging: batman-adv: Use synchronize_rcu instead of call_rcu

It is recommended [1] to use synchronize_rcu to simplify the code -
especially when otherwise extra locking is needed to protect other code
from picking stale elements. It also protects us for emitting to many
callbacks which may results in OOM conditions.

The only reason not to use it, would be in performance critical sections
or when we are not allowed to block.

[1] Documentation/RCU/checklist.txt

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: Remove unneeded rcu_read_lock
Sven Eckelmann [Sat, 18 Sep 2010 19:01:17 +0000 (21:01 +0200)]
Staging: batman-adv: Remove unneeded rcu_read_lock

Regions which do not use rcu functions don't need to protected by
rcu_read_lock. If we want to protect data from being freed than it must
be covered by the same read-side critical section or otherwise the grace
period may already ended and freed the memory before we called
rcu_read_lock again.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: Always protect list_for_each_entry_rcu with RCU
Sven Eckelmann [Sat, 18 Sep 2010 19:01:16 +0000 (21:01 +0200)]
Staging: batman-adv: Always protect list_for_each_entry_rcu with RCU

receive_bat_packet is not called with rcu_read_lock so we must ensure by
ourself that we protect list_for_each_entry_rcu using the correct RCU
locks.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: Introduce if_list_lock to protect if_list
Sven Eckelmann [Sat, 18 Sep 2010 19:01:15 +0000 (21:01 +0200)]
Staging: batman-adv: Introduce if_list_lock to protect if_list

The update critical sections of if_list must be protected by a locking
primitive other than RCU. The iterator must also be protected by the
chosen locking mechanism.

The rtnl_lock in hardif_remove_interfaces must also be moved outside the
iterator primitive to ensure that we don't deadlock the kernel due to
differently nested locks in hardif_remove_interfaces and hard_if_event.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
14 years agoStaging: batman-adv: wait for call_rcu before unloading module
Sven Eckelmann [Sat, 18 Sep 2010 19:01:14 +0000 (21:01 +0200)]
Staging: batman-adv: wait for call_rcu before unloading module

synchronize_rcu respective synchronize_net only waits for the rcu grace
period to elapse and we may fail to finish the calls which were made to
call_rcu in that time. In result the module could be unloaded during the
execution of the RCU callbacks.

rcu_barrier[1] will now wait for all outstanding RCU callbacks to finish
before continuing.

[1] Documentation/RCU/rcubarrier.txt

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