Yann E. MORIN [Sat, 13 Apr 2013 20:49:13 +0000 (22:49 +0200)]
kconfig: allow specifying the seed for randconfig
For reproducibility, it can be useful to be able to specify the
seed to use to seed the RNG.
Add a new KCONFIG_SEED environment variable which can be set to
the seed to use:
$ make KCONFIG_SEED=42 randconfig
$ sha1sum .config
70a128c8dcc61303069e1be352cce64114dfcbca .config
$ make KCONFIG_SEED=42 randconfig
$ sha1sum .config
70a128c8dcc61303069e1be352cce64114dfcbca .config
It's very usefull for eg. debugging the kconfig parser.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Yann E. MORIN [Sun, 10 Mar 2013 15:34:10 +0000 (16:34 +0100)]
kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG
Currently, randconfig does randomise choice entries, unless KCONFIG_ALLCONFIG
is specified.
For example, given those two files (Thomas' test-case):
---8<--- Config.test.in
config OPTIONA
bool "Option A"
choice
prompt "This is a choice"
config CHOICE_OPTIONA
bool "Choice Option A"
config CHOICE_OPTIONB
bool "Choice Option B"
endchoice
config OPTIONB
bool "Option B"
---8<--- Config.test.in
---8<--- config.defaults
CONFIG_OPTIONA=y
---8<--- config.defaults
And running:
./config/conf --randconfig Config.test.in
does properly randomise the two choice symbols (and the two booleans).
However, running:
KCONFIG_ALLCONFIG=config.defaults \
./config/conf --randconfig Config.test.in
does *not* reandomise the two choice entries, and only CHOICE_OPTIONA
will ever be selected. (OPTIONA will always be set (expected), and
OPTIONB will be be properly randomised (expected).)
This patch defers setting that a choice has a value until a symbol for
that choice is indeed set, so that choices are properly randomised when
KCONFIG_ALLCONFIG is set, but not if a symbol for that choice is set.
Also, as a side-efect, this patch fixes the following case:
---8<---
choice
config OPTION_A
bool "Option A"
config OPTION_B
bool "Option B"
config OPTION_C
bool "Option C"
endchoice
---8<---
which could previously generate such .config files:
---8<--- ---8<---
CONFIG_OPTION_A=y CONFIG_OPTION_A=y
CONFIG_OPTION_B=y # CONFIG_OPTION_B is not set
# CONFIG_OPTION_C is not set CONFIG_OPTION_C=y
---8<--- ---8<---
Ie., the first entry in a choice is always set, plus zero or one of
the other options may be set.
This patch ensures that only one option may be set for a choice.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Yann E. MORIN [Wed, 24 Apr 2013 20:00:04 +0000 (22:00 +0200)]
kconfig: do not override symbols already set
For randconfig, if a list of required symbols is specified with
KCONFIG_ALLCONFIG, such symbols do not "have a value" as per
sym_has_value(), but have the "valid" flag set.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Yann E. MORIN [Wed, 24 Apr 2013 16:14:27 +0000 (18:14 +0200)]
kconfig: fix randconfig tristate detection
Because the modules' symbole (CONFIG_MODULES) may not yet be set when
we check a symbol's tristate capabilty, we'll always find that tristate
symbols are booleans, even if we randomly decided that to enable modules:
sym_get_type(sym) always return boolean for tristates when modules_sym
has not been previously set to 'y' *and* its value calculated *and* its
visibility calculated, both of which only occur after we randomly assign
values to symbols.
Fix that by looking at the raw type of symbols. Tristate set to 'm' will
be promoted to 'y' when their values will be later calculated.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Benjamin Poirier [Tue, 16 Apr 2013 14:07:23 +0000 (10:07 -0400)]
menuconfig: Add "breadcrumbs" navigation aid
Displays a trail of the menu entries used to get to the current menu.
Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: small, trivial code re-ordering]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Benjamin Poirier [Mon, 15 Apr 2013 14:13:50 +0000 (10:13 -0400)]
menuconfig: Fix memory leak introduced by jump keys feature
Fixes the memory leak of struct jump_key allocated in get_prompt_str()
Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: stable@vger.kernel.org
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Wed, 8 May 2013 11:09:08 +0000 (13:09 +0200)]
wireless: move crypto constants to ieee80211.h
mac80211 and the Intel drivers all define crypto
constants, move them to ieee80211.h instead.
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Tue, 26 Mar 2013 13:54:16 +0000 (14:54 +0100)]
mac80211: parse VHT channel switch IEs
VHT introduces multiple IEs that need to be parsed for a
wide bandwidth channel switch. Two are (currently) needed
in mac80211:
* wide bandwidth channel switch element
* channel switch wrapper element
The former is contained in the latter for beacons and probe
responses, but not for the spectrum management action frames
so the IE parser needs a new argument to differentiate them.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Thu, 27 Dec 2012 17:45:41 +0000 (18:45 +0100)]
wireless: define operating mode action frame
Define the action frame format, the VHT category
and its action types and the field format and EID
for operating mode notifications. The frame may
be used outside of VHT context as well, so don't
include "VHT" in the names.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Tue, 26 Mar 2013 14:17:18 +0000 (15:17 +0100)]
mac80211: handle extended channel switch announcement
Handle the (public) extended channel switch announcement
action frames. Parts of the data in these frames isn't
really in IEs, but put it into the elems struct anyway
to simplify the handling.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Mon, 25 Mar 2013 17:29:27 +0000 (18:29 +0100)]
mac80211: support secondary channel offset in CSA
Add support for the secondary channel offset IE in channel
switch announcements. This is necessary for proper handling
of CSA on HT access points.
For this to work it is also necessary to convert everything
here to use chandef structs instead of just channels. The
driver updates aren't really correct though. In particular,
the TI wl18xx driver update can't possibly be right since
it just ignores the new channel width for lack of firmware
API.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Tue, 26 Mar 2013 13:13:58 +0000 (14:13 +0100)]
mac80211: support extended channel switch
Support extended channel switch when the operating
class is one of the global operating classes as
defined in Annex E of 802.11-2012. If it isn't,
disconnect from the AP instead.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Tue, 26 Mar 2013 13:02:26 +0000 (14:02 +0100)]
mac80211: unify CSA action frame/beacon processing
CSA action frame content should be processed as variable IEs
rather than fixed to make it extensible. Unify the code and
process them just like CSA in beacons to make it easier to
extend for HT/VHT.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Fri, 31 May 2013 15:24:11 +0000 (17:24 +0200)]
carl9170 toolchain: toolchain updates
+ update to gcc-4.8.1
+ delete source files which failed the sha256 check
+ automatic parallel build of the toolchain
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Wed, 27 Mar 2013 13:38:07 +0000 (14:38 +0100)]
mac80211: parse Timeout Interval Element using a struct
Instead of open-coding the accesses and length check do
the length check in the IE parser and assign a struct
pointer for use in the remaining code.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Janusz Dziedzic [Thu, 21 Mar 2013 14:47:54 +0000 (15:47 +0100)]
cfg80211: add P2P Notice of Absence attribute
Add P2P Notice of Absence attribute structure.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Fri, 22 Mar 2013 23:27:51 +0000 (00:27 +0100)]
carl9170 firmware: update version to 1.9.8
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Ben Hutchings [Tue, 19 Feb 2013 00:24:26 +0000 (02:24 +0200)]
kbuild: Fix missing '\n' for NEW symbols in yes "" | make oldconfig >conf.new
According to Documentation/kbuild/kconfig.txt, the commands:
yes "" | make oldconfig >conf.new
grep "(NEW)" conf.new
should list the new config symbols with their default values.
However, currently there is no line break after each new symbol. When
kconfig is interactive the user will type a new-line at this point,
but when non-interactive kconfig must print it.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Reference: http://bugs.debian.org/636029
[regid23@nt1.in: Adjusted Ben's work to apply cleanly to this tree]
Reported-and-tested-by: Regid Ichira <regid23@nt1.in>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Alan Cox [Tue, 6 Nov 2012 14:32:08 +0000 (14:32 +0000)]
kconfig: Fix malloc handling in conf tools
(and get them out of the noise in the audit work)
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Yann E. MORIN [Fri, 19 Oct 2012 23:06:25 +0000 (01:06 +0200)]
kconfig: get CONFIG_ prefix from the environment
Currently, the CONFIG_ prefix is hard-coded in the kconfig frontends
executables. This means that two projects that use kconfig with
different prefixes can not share the same kconfig frontends.
Instead of hard-coding the prefix in the frontends, get it from the
environment, and revert back to hard-coded value if not found.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Yann E. MORIN [Fri, 19 Oct 2012 23:06:24 +0000 (01:06 +0200)]
kconfig: add a function to get the CONFIG_ prefix
Currently, we get the CONFIG_ prefix via the CONFIG_ macro, which means
the CONFIG_ prefix is hard-coded at compile time. This goes against
having a run-time defined CONFIG_ prefix.
Add a function that returns the CONFIG_ prefix to use (but keep the
current hard-coded behavior, to be changed in a later patch).
To avoid touching all the code that uses the CONFIG_ macro, we just
undef it, and define it to be a call to the function.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Fri, 22 Mar 2013 21:21:34 +0000 (22:21 +0100)]
carl9170 firmware: always reset usb endpoints
It isn't clear what the firmware is supposed to do
when it is initializing the usb phy. The spec says
something about clearing the STALLED/HALTED flags
however the original firmware doesn't do that?!
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Fri, 22 Mar 2013 21:18:27 +0000 (22:18 +0100)]
carl9170 toolchain: update to gcc-4.8.0
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Fri, 1 Mar 2013 12:07:48 +0000 (13:07 +0100)]
mac80211: restrict peer's VHT capabilities to own
Implement restricting peer VHT capabilities to the device's own
capabilities. This is useful when a single driver supports more
than one device and the devices have different capabilities
(often they will differ in the number of spatial streams), but
in particular is also necessary for VHT capability overrides to
work correctly -- otherwise it'd be possible to e.g. advertise,
due to overrides, that TX-STBC is not supported, but then still
use it to TX to the AP because it supports RX-STBC.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Thu, 21 Feb 2013 16:26:44 +0000 (17:26 +0100)]
wireless: remove unused VHT MCS defines
There's an enum with the same values (but slightly
different names except for NOT_SUPPORTED) that is
actually used, so remove the defines.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Felix Fietkau [Fri, 22 Feb 2013 16:28:49 +0000 (17:28 +0100)]
ieee80211: mark 802.11 related structs as being 2-byte aligned
Regardless of what header features they use, or if they align the IP
header or not, 802.11 packets from all drivers guarantee a 2-byte
alignment (and there's a debug WARN_ON in case they don't).
Annotate packet structs with __aligned(2) to allow the compiler to use
16-bit load/store operations on platforms with extremely inefficient
unaligned access (e.g. MIPS).
This reduces code size and improves performance on affected platforms
and causes no binary code change on others.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Fri, 15 Feb 2013 18:25:00 +0000 (19:25 +0100)]
wireless: move sequence number arithmetic to ieee80211.h
Move the sequence number arithmetic code from mac80211 to
ieee80211.h so others can use it. Also rename the functions
from _seq to _sn, they operate on the sequence number, not
the sequence_control field.
Also move macros to convert the sequence control to/from
the sequence number value from various drivers.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Mon, 11 Feb 2013 13:27:08 +0000 (14:27 +0100)]
mac80211: advertise operating mode notification capability
Use the new extended capabilities advertising to advertise
the fact that operating mode notification is supported.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Tue, 12 Feb 2013 15:43:19 +0000 (16:43 +0100)]
mac80211: constify IE parsing
Make all the parsed IE pointers const, and propagate
the change to all the users etc.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Wed, 23 Jan 2013 18:10:58 +0000 (19:10 +0100)]
carl9170 firmware: implement endpoint halt req/clear and get endpoint status
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Fri, 28 Dec 2012 11:12:10 +0000 (12:12 +0100)]
mac80211: support HT notify channel width action
Support the HT notify channel width action frame
to update the rate scaling about the bandwidth
the peer can receive in.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Fri, 28 Dec 2012 11:00:40 +0000 (12:00 +0100)]
wireless: use __packed in ieee80211.h
Use __packed instead of __attribute__((packed)).
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Vladimir Kondratiev [Tue, 18 Dec 2012 07:55:33 +0000 (09:55 +0200)]
wireless: more 'capability info' bits
define bits for 'capability info', as in recent spec edition
IEEE802.11-2012
Also, add mask for 2-bit field 'bss type', as it is in 802.11ad
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 26 Jan 2013 20:19:57 +0000 (21:19 +0100)]
carl9170 firmware: improve link stability
This patch improves the link stability under load
by reordering and rewriting parts of the tx retry
procedure. It's all based on long hours of trail
and error, but sadly QoS + AMPDU is still not
working.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 19 Jan 2013 13:28:19 +0000 (14:28 +0100)]
carl9170: fix CONFIG_CARL9170FW_DEBUG && !CONFIG_CARL9170FW_RADIO_FUNC
wlantx.c:262:2: error: struct has no member named psm
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 17 Jan 2013 22:34:49 +0000 (23:34 +0100)]
carl9170 firmware: USB_MODESWITCH depends on USB_STANDARD_CMDS
usb.c:170:13: error: ‘usb_reset_eps’ defined but not used
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 17 Jan 2013 22:31:14 +0000 (23:31 +0100)]
carl9170 firmware: fix CONFIG_CARL9170FW_DEBUG compile error
wlan.c:59:7: error: assignment discards ‘volatile’ qualifier from pointer target type
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 17 Jan 2013 22:28:36 +0000 (23:28 +0100)]
carl9170 firmware: fix CONFIG_CARL9170FW_DEBUG_UART compile error
uart.c:36:9: error: ‘AR9170_UART_LINE_STS_TX_FIFO_ALMOST_EMPTY’ undeclared
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 17 Jan 2013 22:26:35 +0000 (23:26 +0100)]
carl9170 firmware: fix !CONFIG_CARL9170FW_RADIO_FUNCTIONS compile errors
carlfw/src/main.c:87:27: error: unused variable ‘delta’
carlfw/src/main.c:87:15: error: unused variable ‘boff’
carlfw/src/main.c:90:12: error: ‘struct <anonymous>’ has no member named ‘state’
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 17 Jan 2013 22:16:13 +0000 (23:16 +0100)]
carl9170: allow kconfig options in autogen.sh's parameters
kconf supports several interesting options:
--allnoconfig New config where all options are answered with no
--allyesconfig New config where all options are answered with yes
--alldefconfig New config with all symbols set to default
--randconfig New config with random answer to all options
to build the default firmware image, it is enough to run:
./autogen.sh --alldefconfig
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Tue, 15 Jan 2013 21:31:15 +0000 (22:31 +0100)]
carl9170: fix out of bounds read
__carlfw_find_desc didn't check whenever the area for
a descriptor was within the file length. Also it could
read beyond the file while looking for a said descriptor.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Mon, 14 Jan 2013 19:57:02 +0000 (20:57 +0100)]
carl9170: fix indention and add missing fi
This patch fixes my overzealous editing in
"carl9170: Add checksum during installation, as preferred by the driver"
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Ben Hutchings [Mon, 14 Jan 2013 11:22:30 +0000 (11:22 +0000)]
carl9170: Install binary in the parent directory, not /lib/firmware
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Ben Hutchings [Mon, 14 Jan 2013 11:21:38 +0000 (11:21 +0000)]
carl9170: Add checksum during installation, as preferred by the driver
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Ben Hutchings [Mon, 14 Jan 2013 02:41:56 +0000 (02:41 +0000)]
carl9170: Add and check SHA-256 sums for the toolchain tarballs
The sums for binutils and gcc are based on an HTTPS download (instead
of the default HTTP).
newlib doesn't seem to be available with any kind of signature, so I
compared a tarball and CVS checkout; let's hope they weren't both
compromised.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Ben Hutchings [Mon, 14 Jan 2013 02:26:59 +0000 (02:26 +0000)]
carl9170: Fix minimum CMake version
The CMAKE_CURRENT_LIST_DIR command was added in version 2.8.4.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Ben Hutchings [Mon, 14 Jan 2013 02:26:07 +0000 (02:26 +0000)]
carl9170: Add full licence texts to BSD-licenced CMake files
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Tue, 25 Dec 2012 19:17:02 +0000 (20:17 +0100)]
carl9170 firmware: toolchain newlib 2.0.0
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 15 Dec 2012 22:05:53 +0000 (23:05 +0100)]
carl9170 firmware: update version to 1.9.7
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Benjamin Poirier [Sun, 21 Oct 2012 09:27:53 +0000 (05:27 -0400)]
menuconfig: Replace CIRCLEQ by list_head-style lists.
sys/queue.h and CIRCLEQ in particular have proven to cause portability
problems (reported on Debian Sarge, Cygwin and FreeBSD)
Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Tested-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Benjamin Poirier [Thu, 23 Aug 2012 18:55:08 +0000 (14:55 -0400)]
menuconfig: Assign jump keys per-page instead of globally
At the moment, keys 1-9 are assigned to the first 9 search results. This patch
makes them assigned to the first 9 results per-page instead. We are much less
likely to run out of keys that way.
Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Benjamin Poirier [Thu, 23 Aug 2012 18:55:06 +0000 (14:55 -0400)]
menuconfig: Add jump keys to search results
makes it possible to jump directly to the menu for a configuration entry after
having searched for it with '/'. If this menu is not currently accessible we
jump to the nearest accessible parent instead. After exiting this menu, the
user is returned to the search results where he may jump further in or
elsewhere.
Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Wed, 5 Dec 2012 15:45:31 +0000 (16:45 +0100)]
wireless: fix VHT max AMPDU exponent definition
This is really a 3-bit field, not a single bit,
so declare a mask and shift. Also fix hwsim, it
advertises the maximum possible.
While at it reindent all the defines using tabs
instead of spaces.
Change-Id: I7cd81c0d72f76deb5010aba5bfa3dd312006e898
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Thu, 22 Nov 2012 13:11:39 +0000 (14:11 +0100)]
mac80211: support VHT association
Determine the VHT channel from the AP's VHT operation IE
(if present) and configure the hardware to that channel
if it is supported. If channel contexts cause a channel
to not be usable, try a smaller bandwidth.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Mon, 12 Nov 2012 10:44:18 +0000 (11:44 +0100)]
wireless: add definitions for VHT MCS support
Add definitions for the VHT MCS support values that
are used to indicate, for each number of streams
(1 through 8) which MCSes are supported.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Marco Porsch [Thu, 22 Nov 2012 02:40:30 +0000 (18:40 -0800)]
mac80211: move Mesh Capability field definition to ieee80211.h
Signed-off-by: Marco Porsch <marco.porsch@etit.tu-chemnitz.de>
[prefix with IEEE80211_]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Wed, 14 Nov 2012 22:22:21 +0000 (23:22 +0100)]
mac80211: introduce IEEE80211_NUM_TIDS and use it
Introduce IEEE80211_NUM_TIDS in the generic 802.11
header file and use it in place of STA_TID_NUM and
NUM_RX_DATA_QUEUES which are both really the number
of TIDs.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 15 Dec 2012 21:19:22 +0000 (22:19 +0100)]
carl9170 firmware: fix max beacon length
According to AR9170's data sheet, the
beacon length register only cares about
bits 8:0. So the max length [with 4
reserved bytes for the FCS] is at 511.
Note:
Because the beacon has to be stored in the
DMA memory region, we have to be careful
so we don't waste precious memory due to
alignment and padding. Therefore I decided
to reduce the max beacon length even more
down to 480 bytes. [This saves one 320 byte
DMA block from becoming unused padding, when
the default 2 vif configuration is selected].
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Arend van Spriel [Mon, 5 Nov 2012 14:29:09 +0000 (15:29 +0100)]
wireless: add peer-to-peer related definitions
The Peer-to-Peer IE is vendor-specific IE identified by WiFi Alliance
OUI and specific P2P OUI type. The payload of this IE consists of
so-called P2P attributes. This patch adds definitions for processing
these attributes.
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sun, 25 Nov 2012 10:48:34 +0000 (11:48 +0100)]
carl9170 firmware toolchain: binutils 2.23.1
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Arend van Spriel [Fri, 12 Oct 2012 10:28:16 +0000 (12:28 +0200)]
wireless: remove duplicate enum ieee80211_eid definitions
WLAN_EID_WPA and WLAN_EID_GENERIC mapped to the same value
as WLAN_EID_VENDOR_SPECIFIC. The last one being more in line
with the standard specification. Removing WLAN_EID_WPA and
WLAN_EID_GENERIC as there are no longer drivers using these.
Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Mahesh Palivela [Wed, 10 Oct 2012 11:25:40 +0000 (11:25 +0000)]
ieee80211: Rename VHT cap struct
Rename struct ieee80211_vht_capabilities to ieee80211_vht_cap
and renamed its member vht_capabilities_info to vht_cap_info.
Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Johannes Berg [Tue, 24 Jul 2012 15:38:43 +0000 (17:38 +0200)]
wireless: remove obsolete chan no/center freq conversion functions
There are a number of functions that shouldn't really
be used when modern functions that take the band are
available in cfg80211. Remove these, but for now keep
* ieee80211_freq_to_dsss_chan and
* ieee80211_dsss_chan_to_freq
as they're used in older drivers.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 10 Nov 2012 02:55:57 +0000 (03:55 +0100)]
carl9170 firmware toolchain: binutils 2.23
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 10 Nov 2012 02:47:58 +0000 (03:47 +0100)]
carl9170 firmware toolchain: various small updates
- gnu tar can automatically decides the decompression algo.
- because we use the filename (*_TAR) as a target it better
be the same as in the fetch (*_URL)
- stringify URLs.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 20 Oct 2012 17:12:49 +0000 (19:12 +0200)]
carl9170 firmware: add note about rx filter usage
This patch adds a note about what it means when
a rx filter bit is set. Because unlike what most
people assume, it means that the data which matches
the condition is discarded and not
"passed to the host".
Reported-by: Javier Lopez <jlopex@cozybit.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 6 Oct 2012 17:02:57 +0000 (19:02 +0200)]
carl9170 firmware: remove inline attributes
The compiler is smart enough to decide whenever
these functions can be inlined or not.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 20 Sep 2012 16:49:12 +0000 (18:49 +0200)]
carl9170 toolchain: update to gcc-4.7.2
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 13 Sep 2012 23:53:32 +0000 (01:53 +0200)]
carl9170 firmware tools: update .gitignore
- eeprom_fix is no more
- ignore fwprepare binary
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Cody Schafer [Fri, 13 Jul 2012 18:27:12 +0000 (11:27 -0700)]
kconfig: allow long lines in config file
For some config options (CONFIG_EXTRA_FIRMWARE, for example), the length
of a config file line can exceed the 1024 byte buffer.
Switch from fgets to compat_getline to fix. compat_getline is an
internally implimented getline work-alike for portability purposes.
Signed-off-by: Cody Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Paul Gortmaker [Thu, 12 Apr 2012 23:46:34 +0000 (19:46 -0400)]
kconfig: delete last traces of __enabled_ from autoconf.h
We've now fixed IS_ENABLED() and friends to not require any special
"__enabled_" prefixed versions of the normal Kconfig options, so delete
the last traces of them being generated.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Paul Gortmaker [Thu, 12 Apr 2012 23:46:33 +0000 (19:46 -0400)]
Revert "kconfig: fix __enabled_ macros definition for invisible and un-selected symbols"
Dumping two lines into autoconf.h for all existing Kconfig options
results in a giant file (~16k lines) we have to process each time we
compile something. We've weaned IS_ENABLED() and similar off of
requiring the __enabled_ definitions so now we can revert the change
which caused all the extra lines.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 13 Sep 2012 23:32:41 +0000 (01:32 +0200)]
carl9170 firmware: extract tx and rx code from wlan.c into separate files
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 13 Sep 2012 23:08:49 +0000 (01:08 +0200)]
carl9170 firmware: remove CONFIG_CARL9170FW_CAB_QUEUE
The software supported cab queue is now a standard
feature and will always be available.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 13 Sep 2012 22:55:58 +0000 (00:55 +0200)]
carl9170 firmware: move cmd.c into hostif.c
The command handler is part of the host
application interface too, so it will fit
there nicely.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 13 Sep 2012 22:49:25 +0000 (00:49 +0200)]
carl9170 firmware: refactor timer functions
Thanks to LTO, the timer routines can be moved into
a proper context without added overhead at runtime.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sun, 19 Aug 2012 19:16:54 +0000 (21:16 +0200)]
carl9170: remove eeprom_fix utility
The carl9170 driver in the kernel doesn't
have the capability anymore. Hence, this
tool is no longer needed.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sun, 19 Aug 2012 18:30:59 +0000 (20:30 +0200)]
carl9170: link time optimization build
Enabling LTO will hopefully lead to smaller
firmware binaries and maybe even slightly
better performance.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 21 Jul 2012 14:01:11 +0000 (16:01 +0200)]
carl9170 toolchain: update toolchain disk space requirements
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Eric W. Biederman [Mon, 7 May 2012 12:37:45 +0000 (05:37 -0700)]
kbuild: all{no,yes,mod,def,rand}config only read files when instructed to.
Prevent subtle surprises to both people working on the kconfig code
and people using make allnoconfig allyesconfig allmoconfig and
randconfig by only attempting to read a config file if
KCONFIG_ALLCONFIG is set.
Common sense suggests attempting to read the extra config files does
not make sense unless requested. The documentation says the code
won't attempt to read the extra config files unless requested.
Current usage does not appear to include people depending on the code
reading the config files without the variable being set So do the
simple thing and stop reading config files when passed
all{no,yes,mod,def,rand}config unless KCONFIG_ALLCONFIG environment
variable is set.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Eric W. Biederman [Thu, 26 Apr 2012 08:51:32 +0000 (01:51 -0700)]
kconfig: Add error handling to KCONFIG_ALLCONFIG
- Only try to read the file specified if KCONFIG_ALL_CONFIG is set to
something other than the empty string or "1".
- Don't use stat to check the name passed to conf_read_simple so that
zconf_fopen can find the file in the current directory or in SRCTREE
removing a extremely source of confusing failure, where KCONFIG_ALL_CONFIG
was not interpreted with respect to the directory make was called in.
- If conf_read_simple fails complain clearly and stop processing.
Allowing the simple debugging of typos.
- Clearly document the behavior so it is clear to users which
values are treated as flags and which values are treated as
filenames.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 21 Jul 2012 13:48:23 +0000 (15:48 +0200)]
carl9170: remove carlu
The userspace utility will be become a separate project.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Vladimir Kondratiev [Mon, 2 Jul 2012 06:32:35 +0000 (09:32 +0300)]
wireless: 60g protocol constants
Provide various constants as defined by the 802.11ad:
frame types, IE's, capability bits, action categories
Introduce GCMP cipher, mandatory by 802.11ad
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Mahesh Palivela [Fri, 22 Jun 2012 07:27:46 +0000 (07:27 +0000)]
wireless: add VHT (802.11ac) definitions
Add the VHT definitions to be used by drivers supporting it.
Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Avinash Patil [Thu, 21 Jun 2012 00:59:01 +0000 (17:59 -0700)]
ieee80211: more OUI type definitions for WLAN_OUI_MICROSOFT
WMM and WPS
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Chun-Yeow Yeoh [Wed, 13 Jun 2012 18:06:07 +0000 (02:06 +0800)]
mac80211: implement the proactive PREQ generation
Generate the proactive PREQ element as defined in
Sec. 13.10.9.3 (Case C) of IEEE Std. 802.11-2012
based on the selection of dot11MeshHWMPRootMode as follow:
dot11MeshHWMPRootMode (2) is proactivePREQnoPREP
dot11MeshHWMPRootMode (3) is proactivePREQwithPREP
The proactive PREQ is generated based on the interval
defined by dot11MeshHWMProotInterval.
With this change, proactive RANN element is now generated
if the dot11MeshHWMPRootMode is set to (4) instead of (1).
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
[line-break commit log]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Avinash Patil [Tue, 12 Jun 2012 01:14:16 +0000 (18:14 -0700)]
ieee80211: definitions for Microsoft Vendor OUI and WPA OUI type
Reference: http://standards.ieee.org/develop/regauth/oui/oui.txt
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Chun-Yeow Yeoh [Mon, 11 Jun 2012 03:59:36 +0000 (11:59 +0800)]
{nl,cfg,mac}80211: fix the coding style related to mesh parameters
fix the coding style related to mesh parameters, especially the indentation,
as pointed out by Johannes Berg.
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 19 Jul 2012 18:11:21 +0000 (20:11 +0200)]
carl9170 cmake: config requires at least cmake 2.8.4
"it needs at least 2.8.4 due to use of CMAKE_CURRENT_LIST_DIR."
Spotted-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 7 Jul 2012 15:29:35 +0000 (17:29 +0200)]
carl9170 firmware: update version to 1.9.6
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 7 Jul 2012 15:24:53 +0000 (17:24 +0200)]
carl9170 firmware: add automatic BA filter
BA are normally filtered to conserve bandwidth and
cpu cycles. However, if the application has sent a
BAR, the firmware has to escalate the BA accouting.
Hence, for a brief period, the firmware has to let
all BA temporarily pass through the filter.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 7 Jul 2012 14:53:16 +0000 (16:53 +0200)]
carl9170 firmware: set NO ACK bit in BA control
This is similar to what the original firmware does.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 7 Jul 2012 14:43:55 +0000 (16:43 +0200)]
Revert "carl9170 firmware: add workaround for carl vs. mac BAR problem"
This reverts commit
c5ade0a37dc2650ec206cce64dcaea32d2bd86be.
The issue has been fixed in the driver.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 7 Jul 2012 00:07:43 +0000 (02:07 +0200)]
carl9170 firmware: add workaround for carl vs. mac BAR problem
It looks like the AR9170 MAC seems to be incapable of
matching BA to xmitted BARs. This is a problem because
when mac80211 tries to recover it sends out BARs which
can't be matched to a BA and so it goes on. Of course
having lots of stale BARs around causes mayhem in the
receiver buffer at the HT peer on the other end because
it's constantly flushing the reorder buffer.
Note: This is hopefully just a temporary fix, but until
there's a better method, it will provide at least some
relief.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sun, 1 Jul 2012 00:14:04 +0000 (02:14 +0200)]
carl9170 firmware: add note about BAR tx status issues
The workaround will be implemented in the driver as the
firmware can't efficiently deal with BA responses.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Sat, 30 Jun 2012 23:51:08 +0000 (01:51 +0200)]
carl9170 firmware: fix BAR -> BA handling
1. fix a regression which was introduced by accident by:
carl9170 firmware: initial WoWLAN support
The BlockACK should not be a NULLFUNC
2. remove superfluous control | 1.
No idea, why the original firmware had that set.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Christian Lamparter [Thu, 14 Jun 2012 18:27:49 +0000 (20:27 +0200)]
carl9170 toolchain: update to gcc-4.7.1
Note:
There are no more gcc-core packages.
<http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01525.html>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Javier Cardona [Thu, 12 Apr 2012 21:32:20 +0000 (14:32 -0700)]
mac80211: Set the correct values for hwmp (1) and airtimeLinkMetric (1)
Per sections 8.4.2.100.2 and 8.4.2.100.3 of Std 802.11-2012
Reported-by: Shinichi Hotori <hotorinn@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Javier Cardona [Sat, 31 Mar 2012 18:31:32 +0000 (11:31 -0700)]
mac80211: Implement mesh synchronization framework
This patch adds MBSS extensible synchronization framework (Sec.
13.13.2 of IEEE Std. 802.11-2012).
The framework is implemented via an ops table which defines the
following functions:
rx_bcn_presp() - this is called every time a mesh beacon is
received.
adjust_tbtt() - this is called immediately before a beacon is about
to be transmitted.
The default neighbor offset synchronization defined in the standard is
implemented. We also provide template functions for vendor specific
methods.
When neighbor offset synchronization is active (which is the default)
mesh neighbors in the same MBSS will track timing offsets to each other
and compensate clock drift.
In our tests we observed that this mesh synchronization implementation
successfully corrected drifts between stations of ~2PPM while
introducing a jitter of ~20us.
It is also possible to test this framework on mac80211_hwsim simulated
phys to see how it behaves under different topologies, over poor links,
etc.
Signed-off-by: Marco Porsch <marco.porsch@s2005.tu-chemnitz.de>
Signed-off-by: Pavel Zubarev <pavel.zubarev@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Chun-Yeow Yeoh [Mon, 19 Mar 2012 13:38:46 +0000 (21:38 +0800)]
mac80211: fix the sparse warnings on endian handling in RANN propagation
The HWMP sequence number of received RANN element is compared to decide whether to be
propagated. The sequence number is required to covert from 32bit little endian data into
CPUs endianness for comparison. The same applies to the RANN metric.
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>