carl9170fw.git
12 years agomac80211: Implement mesh synchronization framework
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>
12 years agomac80211: fix the sparse warnings on endian handling in RANN propagation
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>
12 years agowireless: rename ht_info to ht_operation
Johannes Berg [Thu, 15 Mar 2012 18:45:16 +0000 (19:45 +0100)]
wireless: rename ht_info to ht_operation

Since some of the HT code pre-dates 802.11n-2009
some names are wrong. The one that bothers me most
is that "HT operation" is called "HT information"
in our code and that causes confusion.

Rename "HT information" to "HT operation" and also
the control_chan field to primary_chan to match
the name used in the spec.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agokconfig: delete last traces of __enabled_ from autoconf.h
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>
12 years agoRevert "kconfig: fix __enabled_ macros definition for invisible and un-selected symbols"
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"

This reverts commit 953742c8fe8ac45be453fee959d7be40cd89f920.

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>
12 years agokconfig: fix new choices being skipped upon config update
Arnaud Lacombe [Mon, 23 Jan 2012 22:29:05 +0000 (17:29 -0500)]
kconfig: fix new choices being skipped upon config update

Running `oldconfig' after any of the following configuration change:

either trivial addition, such as:

config A
bool "A"

choice
prompt "Choice ?"
depends on A

config CHOICE_B
bool "Choice B"

config CHOICE_C
bool "Choice C"
endchoice

or more tricky change:

OLD KCONFIG                      |  NEW KCONFIG
                                 |
                                 |  config A
                                 |          bool "A"
                                 |
choice                           |  choice
        prompt "Choice ?"        |          prompt "Choice ?"
                                 |
        config CHOICE_C          |          config CHOICE_C
                bool "Choice C"  |                  bool "Choice C"
                                 |
        config CHOICE_D          |          config CHOICE_D
                bool "Choice D"  |                  bool "Choice D"
endchoice                        |
                                 |          config CHOICE_E
                                 |                  bool "Choice E"
                                 |                  depends on A
                                 |  endchoice

will not cause the choice to be considered as NEW, and thus not be
asked. The cause of this behavior is that choice's novelty are computed
statically right after the saved configuration has been read. At this
point, the new dependency's value is still unknown and asserted to be
`no'. Moreover, no update to this decision is made afterward.

Correct this by dynamically evaluating a choice's novelty, and removing the
static evaluation.

Reported-and-tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agokbuild: Fix compiler warning with assertion when calling 'fwrite'
Arnaud Lacombe [Wed, 23 Nov 2011 18:05:53 +0000 (13:05 -0500)]
kbuild: Fix compiler warning with assertion when calling 'fwrite'

Reinhard Tartler discovered a corner case of calling xfwrite() where the
length of the string is zero.

Arnaud Lacombe suggested to use assertion for the corner case, as
fwrite(3) is currently used:

 1) in comment printers. Empty comment are not allowed.
 2) in a callback passed to expr_print(), where the string printed is
    either NULL OR non-empty.
 3) in the lexer, auto-generated, and unused.

I feel using assertion is a good solution:

 1) It cleanly takes care of the above-mentioned corner case.
 2) It can be easily disabled by defining NDEBUG.
 3) It asserts xfwrite() is simply a wrapper for fwrite().

Reported-by: Reinhard Tartler <Reinhard.Tartler@informatik.uni-erlangen.de>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Jean Sacren <sakiwit@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agokconfig: use xfwrite wrapper function to silence warnings
Peter Foley [Sat, 22 Oct 2011 14:48:49 +0000 (10:48 -0400)]
kconfig: use xfwrite wrapper function to silence warnings

Use the xfwrite wrapper function defined in lkc.h to check the return value of
fwrite and silence these warnings.

  HOSTCC  scripts/kconfig/zconf.tab.o
config/zconf.tab.c: In function 'header_print_comment':
config/confdata.c:551:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
config/zconf.tab.c: In function 'kconfig_print_comment':
config/confdata.c:467:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result

Signed-off-by: Peter Foley <pefoley2@verizon.net>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: remove BAR->BA clutter
Christian Lamparter [Sat, 31 Mar 2012 22:36:22 +0000 (00:36 +0200)]
carl9170 firmware: remove BAR->BA clutter

No need for a dynamic rate adjustment for this special
case of outgoing BAs. The original firmware didn't care
much for them either.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: fix BAR->BA delivery
Christian Lamparter [Sat, 31 Mar 2012 22:04:35 +0000 (00:04 +0200)]
carl9170 firmware: fix BAR->BA delivery

Previously, if the HT peer sended "just" enough BARs so
ba_head_idx warps around and the ba_head_idx == ba_tail_idx
condition will be true, the already queued BAs would be
lost.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: update version to 1.9.5 1.9.5
Christian Lamparter [Wed, 14 Mar 2012 20:20:36 +0000 (21:20 +0100)]
carl9170 firmware: update version to 1.9.5

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firwmare: toolchain gcc 4.6.3
Christian Lamparter [Wed, 14 Mar 2012 19:57:11 +0000 (20:57 +0100)]
carl9170 firwmare: toolchain gcc 4.6.3

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: toolchain newlib 1.20.0
Christian Lamparter [Thu, 29 Dec 2011 02:18:19 +0000 (03:18 +0100)]
carl9170 firmware: toolchain newlib 1.20.0

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: minor wlan cleanup
Christian Lamparter [Tue, 27 Dec 2011 18:17:51 +0000 (19:17 +0100)]
carl9170 firmware: minor wlan cleanup

 * replace hdr->seq_ctrl voodoo with use ieee80211_is_first_frag

 * add comment about consume_retry

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agoieee80211: Introduce ieee80211_is_first_frag
Helmut Schaa [Thu, 8 Dec 2011 12:11:54 +0000 (13:11 +0100)]
ieee80211: Introduce ieee80211_is_first_frag

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agomac80211: accept public action frames with mismatched BSSID
Johannes Berg [Tue, 6 Dec 2011 09:39:40 +0000 (10:39 +0100)]
mac80211: accept public action frames with mismatched BSSID

Arik's patch "mac80211: allow action frames with unknown
BSSID in GO mode" allowed any action frames in P2P mode
to go through, but only to cooked monitor interfaces as
the IEEE80211_RX_RA_MATCH was still cleared. As a result
my no-monitor patches broke invitation responses.

Instead of allowing any action frames in P2P GO mode to
go through with a wrong BSSID like that patch did, allow
all public action frames. They will never be processed
by mac80211, but can be reported via nl80211 then.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: remove debug tx/rx paths crud
Christian Lamparter [Fri, 23 Dec 2011 19:40:49 +0000 (20:40 +0100)]
carl9170 firmware: remove debug tx/rx paths crud

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: double check if unlinked desc matches head desc
Christian Lamparter [Fri, 23 Dec 2011 19:35:18 +0000 (20:35 +0100)]
carl9170 firmware: double check if unlinked desc matches head desc

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: get rid of nested wlan_tx calls
Christian Lamparter [Fri, 23 Dec 2011 17:15:01 +0000 (18:15 +0100)]
carl9170 firmware: get rid of nested wlan_tx calls

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: fix terminator assert
Christian Lamparter [Fri, 23 Dec 2011 00:22:28 +0000 (01:22 +0100)]
carl9170 firmware: fix terminator assert

While calculating the number of assigned
terminator descriptors is easy enough for
an human at "compile" time, gcc isn't that
clever. Therefore the check has to run at
runtime.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: add init_queue helper function
Christian Lamparter [Fri, 23 Dec 2011 00:17:17 +0000 (01:17 +0100)]
carl9170 firmware: add init_queue helper function

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: remove gcc workaround
Christian Lamparter [Fri, 23 Dec 2011 00:12:53 +0000 (01:12 +0100)]
carl9170 firmware: remove gcc workaround

this workaround is no longer necessary, gcc
now compiles the code without any spurious
complains.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: fix firmware build script
Christian Lamparter [Sat, 3 Dec 2011 09:46:19 +0000 (10:46 +0100)]
carl9170 firmware: fix firmware build script

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
12 years agocarl9170 firmware: trivial checkpatch fixes
Christian Lamparter [Tue, 29 Nov 2011 16:13:39 +0000 (17:13 +0100)]
carl9170 firmware: trivial checkpatch fixes

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: optimize get_async
Christian Lamparter [Thu, 24 Nov 2011 00:32:38 +0000 (01:32 +0100)]
carl9170 firmware: optimize get_async

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix minute errors
Christian Lamparter [Wed, 23 Nov 2011 23:41:28 +0000 (00:41 +0100)]
carl9170 firmware: fix minute errors

 * typos in comments

 * inline static vs. static inline

 * line too long

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: enable CONFIG_CARL9170FW_USB_INIT_FIRMWARE by default
Christian Lamparter [Wed, 23 Nov 2011 23:30:41 +0000 (00:30 +0100)]
carl9170 firmware: enable CONFIG_CARL9170FW_USB_INIT_FIRMWARE by default

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add __be{16,32,64} typedefs
Christian Lamparter [Wed, 23 Nov 2011 21:07:04 +0000 (22:07 +0100)]
carl9170 firmware: add __be{16,32,64} typedefs

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: QoS multicast frames have No Ack policy
Thomas Pedersen [Fri, 4 Nov 2011 04:11:11 +0000 (21:11 -0700)]
mac80211: QoS multicast frames have No Ack policy

Previously QoS multicast frames had the Normal Acknowledgment QoS
control bits set. This would cause broadcast frames to be discarded by
peers with which we have a BA session, since their sequence number would
fall outside the allowed range. Set No Ack QoS control bits on multicast
QoS frames and filter these in de-aggregation code.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
v2: Use proper QoS Ack Policy ctl field mask (Christian)

v3: Clean up conditional (Johannes)
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: Define cipher suite selector for WPI-SMS4
Jouni Malinen [Wed, 2 Nov 2011 21:34:56 +0000 (23:34 +0200)]
ieee80211: Define cipher suite selector for WPI-SMS4

This value is used for WPI-SMS4 in ISO/IEC JTC 1 N 9880.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: handle HT PHY BSS membership selector value correctly
Christian Lamparter [Fri, 14 Oct 2011 22:14:49 +0000 (00:14 +0200)]
mac80211: handle HT PHY BSS membership selector value correctly

802.11n-2009 extends the supported rates element with a
magic value which can be used to prevent legacy stations
from joining the BSS.

However, this magic value is not a rate like the others
and the magic can simply be ignored/skipped at this late
stage.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>---
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: handle TDLS high-level commands and frames
Arik Nemtsov [Wed, 28 Sep 2011 11:12:52 +0000 (14:12 +0300)]
mac80211: handle TDLS high-level commands and frames

Register and implement the TDLS cfg80211 callback functions.

Internally prepare and send TDLS management frames. We incorporate
local STA capabilities and supported rates with extra IEs given by
usermode. The resulting packet is either encapsulated in a data frame,
or assembled as an action frame. It is transmitted either directly or
through the AP, as mandated by the TDLS specification.

Declare support for the TDLS external setup wiphy capability. This
tells usermode to handle link setup and discovery on its own, and use the
kernel driver for sending TDLS mgmt packets.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Cc: Kalyan C Gaddam <chakkal@iit.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocfg80211: add cfg80211_find_vendor_ie() function
Eliad Peller [Thu, 15 Sep 2011 08:53:01 +0000 (11:53 +0300)]
cfg80211: add cfg80211_find_vendor_ie() function

Add function to find vendor-specific ie (along with
vendor-specific ie struct definition and P2P OUI values)

Signed-off-by: Eliad Peller <eliad@wizery.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: Mesh data frames must have the QoS header
Javier Cardona [Thu, 8 Sep 2011 00:49:53 +0000 (17:49 -0700)]
mac80211: Mesh data frames must have the QoS header

Per sec 7.1.3.5 of draft 12.0 of 802.11s, mesh frames indicate the
presence of the mesh control header in their QoS header.

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>
13 years agomac80211: mesh gate implementation
Javier Cardona [Tue, 9 Aug 2011 23:45:08 +0000 (16:45 -0700)]
mac80211: mesh gate implementation

In this implementation, a mesh gate is a root node with a certain bit
set in its RANN flags. The mpath to this root node is marked as a path
to a gate, and added to our list of known gates for this if_mesh. Once a
path discovery process fails, we forward the unresolved frames to a
known gate. Thanks to Luis Rodriguez for refactoring and bug fix help.

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>
13 years agomac80211: update mesh path selection frame format
Thomas Pedersen [Fri, 12 Aug 2011 02:35:15 +0000 (19:35 -0700)]
mac80211: update mesh path selection frame format

Make mesh path selection frames Mesh Action category, remove outdated
Mesh Path Selection category and defines, use updated reason codes, add
mesh_action_is_path_sel for readability, and update/correct path
selection IEs.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: add mesh action codes
Thomas Pedersen [Fri, 12 Aug 2011 02:35:14 +0000 (19:35 -0700)]
ieee80211: add mesh action codes

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: update mesh peering frame format
Thomas Pedersen [Sat, 13 Aug 2011 03:01:00 +0000 (20:01 -0700)]
mac80211: update mesh peering frame format

This patch updates the mesh peering frames to the format specified in
the recently ratified 802.11s standard. Several changes took place to
make this happen:

- Change RX path to handle new self-protected frames
- Add new Peering management IE
- Remove old Peer Link IE
- Remove old plink_action field in ieee80211_mgmt header

These changes by themselves would either break peering, or work by
coincidence, so squash them all into this patch.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: introduce Self Protected Action codes
Thomas Pedersen [Fri, 12 Aug 2011 02:35:11 +0000 (19:35 -0700)]
ieee80211: introduce Self Protected Action codes

802.11s introduces a new action frame category, add action codes as well
as an entry in ieee80211_mgmt.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agowireless: Introduce defines for BAR TID_INFO & MULTI_TID fields
Helmut Schaa [Thu, 11 Aug 2011 14:17:41 +0000 (16:17 +0200)]
wireless: Introduce defines for BAR TID_INFO & MULTI_TID fields

While at it also fix the indention of the other IEEE80211_BAR_CTRL_ defines.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoconfig: fix __enabled_ macros definition for invisible and un-selected symbols
Arnaud Lacombe [Tue, 16 Aug 2011 05:20:20 +0000 (01:20 -0400)]
config: fix __enabled_ macros definition for invisible and un-selected symbols

__enabled_<sym-name> are only generated on visible or selected entries, do not
reflect the purpose of its introduction.

Fix this by always generating these entries for named symbol.

Reported-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoconfig: factor code in menu_get_ext_help()
Arnaud Lacombe [Thu, 4 Aug 2011 01:52:07 +0000 (21:52 -0400)]
config: factor code in menu_get_ext_help()

Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoconfig: Fix help text not displayed in choice option.
Srinivas Kandagatla [Tue, 2 Aug 2011 17:49:52 +0000 (18:49 +0100)]
config: Fix help text not displayed in choice option.

Help text under choice menu is never displayed because it does not have
symbol name associated with it, however many kconfigs have help text
under choice, assuming that it will be displayed when user selects help.
for example in Kconfig if we have:
choice
        prompt "Choice"
        ---help---
           HELP TEXT ...

config A
        bool "A"

config B
        bool "B"

endchoice

Without this patch "HELP TEXT" is not displayed when user selects help
option when "Choice" is highlighted from menuconfig or xconfig or
gconfig.

This patch changes the logic in menu_get_ext_help to display help for
cases which dont have symbol names like choice.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Reviewed-by: Stuart Menefy <stuart.menefy@st.com>
Reviewed-by: Arnaud Lacombe <lacombar@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove wol #ifdef leftovers
Christian Lamparter [Mon, 21 Nov 2011 19:18:47 +0000 (20:18 +0100)]
carl9170 firmware: remove wol #ifdef leftovers

Thanks to the aggressive cflags, the compiler will
optimize the check away if wol is not enabled.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: toolchain binutils 2.22
Christian Lamparter [Mon, 21 Nov 2011 19:13:20 +0000 (20:13 +0100)]
carl9170 firmware: toolchain binutils 2.22

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: refactoring wlan_tx_ampdu
Christian Lamparter [Mon, 21 Nov 2011 18:42:17 +0000 (19:42 +0100)]
carl9170 firmware: refactoring wlan_tx_ampdu

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: move wowlan routines into separate files
Christian Lamparter [Mon, 21 Nov 2011 15:54:40 +0000 (16:54 +0100)]
carl9170 firmware: move wowlan routines into separate files

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firwmare: toolchain gcc 4.6.2
Christian Lamparter [Thu, 27 Oct 2011 13:41:32 +0000 (15:41 +0200)]
carl9170 firwmare: toolchain gcc 4.6.2

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoconfig: import latest kconfig
Christian Lamparter [Wed, 17 Aug 2011 11:24:10 +0000 (13:24 +0200)]
config: import latest kconfig

commit 2a11c8ea20bf850b3a2c60db8c2e7497d28aba99
Subject: "kconfig: Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE()"

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add missing out-of-bound check in WoWLAN code
Christian Lamparter [Wed, 17 Aug 2011 11:15:06 +0000 (13:15 +0200)]
carl9170 firmware: add missing out-of-bound check in WoWLAN code

src/wlan.c: In function ‘wlan_rx_wol_probe_ssid’:
src/wlan.c:830:30: error: variable ‘end’ set but not used

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: checkpatch/style fixes
Christian Lamparter [Mon, 15 Aug 2011 16:58:52 +0000 (18:58 +0200)]
carl9170 firmware: checkpatch/style fixes

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: add few wmm tspec values
Kalle Valo [Sun, 17 Jul 2011 09:13:56 +0000 (12:13 +0300)]
ieee80211: add few wmm tspec values

These are needed by ath6kl for parsing tspec status from an IE.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agowireless: unify QoS control field definitions
Johannes Berg [Wed, 22 Jun 2011 08:06:59 +0000 (08:06 +0000)]
wireless: unify QoS control field definitions

Move all that mac80211 has into the generic
ieee80211.h header file and use them. At the
same time move them from mask+shift to just
bits and rename them for consistent names.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocfg80211: don't drop p2p probe responses
Eliad Peller [Sun, 29 May 2011 12:53:20 +0000 (12:53 +0000)]
cfg80211: don't drop p2p probe responses

Commit 0a35d36 ("cfg80211: Use capability info to detect mesh beacons")
assumed that probe response with both ESS and IBSS bits cleared
means that the frame was sent by a mesh sta.

However, these capabilities are also being used in the p2p_find phase,
and the mesh-validation broke it.

Rename the WLAN_CAPABILITY_IS_MBSS macro, and verify that mesh ies
exist before assuming this frame was sent by a mesh sta.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: install firmware without execute permissions
Pavel Roskin [Fri, 15 Jul 2011 23:00:49 +0000 (23:00 +0000)]
carl9170 firmware: install firmware without execute permissions

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add BCN_HT1 and BCN_HT2 definitions
Christian Lamparter [Fri, 15 Jul 2011 14:33:39 +0000 (16:33 +0200)]
carl9170 firmware: add BCN_HT1 and BCN_HT2 definitions

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: correct use of memset
Ignacy Gawedzki [Thu, 14 Jul 2011 13:03:11 +0000 (15:03 +0200)]
carl9170 firmware: correct use of memset

I noticed something that may be a bug in wlan.c, in
wlan_wol_connection_monitor():

memset(nullf, 0, sizeof(nullf));

Should be:

memset(nullf, 0, sizeof(*nullf));

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: shared register file update
Christian Lamparter [Sun, 10 Jul 2011 16:48:05 +0000 (18:48 +0200)]
carl9170 firmware: shared register file update

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix use of uninitialized value
Christian Lamparter [Sun, 10 Jul 2011 16:45:59 +0000 (18:45 +0200)]
carl9170 firmware: fix use of uninitialized value

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: improve site survey data
Christian Lamparter [Fri, 1 Jul 2011 21:31:26 +0000 (23:31 +0200)]
carl9170 firmware: improve site survey data

Luis' automatic channel selection needs tx_time in
order to work. Trouble is, the documentation does
not mention such a counter, so a software solution
is needed.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: drop timer1
Christian Lamparter [Fri, 1 Jul 2011 12:18:09 +0000 (14:18 +0200)]
carl9170 firmware: drop timer1

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: report device tallies
Christian Lamparter [Thu, 30 Jun 2011 23:18:34 +0000 (01:18 +0200)]
carl9170 firmware: report device tallies

 - channel active counter
 - main channel clear counter
 - ext channel clear counter

 - rx total counter
 - rx overrun counter

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update version to 1.9.4 1.9.4
Christian Lamparter [Thu, 30 Jun 2011 17:49:09 +0000 (19:49 +0200)]
carl9170 firmware: update version to 1.9.4

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: use udivsi3 to divide integers
Christian Lamparter [Thu, 30 Jun 2011 17:40:17 +0000 (19:40 +0200)]
carl9170 firmware: use udivsi3 to divide integers

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove noisy debug messages
Christian Lamparter [Thu, 30 Jun 2011 17:29:03 +0000 (19:29 +0200)]
carl9170 firmware: remove noisy debug messages

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: enable 5GHZ PSM
Christian Lamparter [Thu, 30 Jun 2011 17:25:53 +0000 (19:25 +0200)]
carl9170 firmware: enable 5GHZ PSM

The issue with 5GHZ PSM has been identified and fixed in
the previous commit (carl9170 firmware: fix time accouting).

Introduce a new feature flag, so the driver can check
for it.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix time accouting
Christian Lamparter [Thu, 30 Jun 2011 17:21:05 +0000 (19:21 +0200)]
carl9170 firmware: fix time accouting

This patch tries to partially fix the old issue with
the inaccurate clocks.

Note: It also adds a Timer1, which goes off every msec
on the clock.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix clock_set parameter mixup
Christian Lamparter [Thu, 30 Jun 2011 00:27:29 +0000 (02:27 +0200)]
carl9170 firmware: fix clock_set parameter mixup

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: enable -fmodulo-sched
Christian Lamparter [Wed, 29 Jun 2011 22:29:32 +0000 (00:29 +0200)]
carl9170 firmware: enable -fmodulo-sched

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/chr/carl9170fw
Christian Lamparter [Wed, 29 Jun 2011 21:59:27 +0000 (23:59 +0200)]
Merge branch 'master' of git://git./linux/kernel/git/chr/carl9170fw

13 years agocarl9170 firmware: add more compiler flags voodoo
Christian Lamparter [Wed, 29 Jun 2011 21:53:34 +0000 (23:53 +0200)]
carl9170 firmware: add more compiler flags voodoo

"Link Time Optimization (LTO) gives GCC the capability of
dumping its internal representation (GIMPLE) to disk, so
that all the different compilation units that make up a
single executable can be optimized as a single module.

This expands the scope of inter-procedural optimizations to
encompass the whole program (or, rather, everything that is
visible at link time)."

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firwmare: toolchain gcc 4.6.1 and binutils 2.20.1
Christian Lamparter [Wed, 29 Jun 2011 21:52:59 +0000 (23:52 +0200)]
carl9170 firwmare: toolchain gcc 4.6.1 and binutils 2.20.1

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fixup const volatile register access
Christian Lamparter [Wed, 29 Jun 2011 21:45:38 +0000 (23:45 +0200)]
carl9170 firmware: fixup const volatile register access

Due to heavy usage of all sorts of different optimitations
option, the compiler tries to optimize repeated reads of
const type * away if they are not marked as volatile.
Unfortunately, this breaks the code in several places, as it
causes infinite loops while waiting for hardware to update
BUSY registers.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/chr/carl9170fw into wol
Christian Lamparter [Sat, 28 May 2011 16:40:49 +0000 (18:40 +0200)]
Merge git://git./linux/kernel/git/chr/carl9170fw into wol

13 years agomac80211: Self-protected management frames are not robust
Thomas Pedersen [Tue, 3 May 2011 23:57:14 +0000 (23:57 +0000)]
mac80211: Self-protected management frames are not robust

They may contain encrypted information elements (as AMPE frames do)
but they are not encrypted.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocfg80211: Use capability info to detect mesh beacons.
Javier Cardona [Wed, 4 May 2011 17:24:56 +0000 (17:24 +0000)]
cfg80211: Use capability info to detect mesh beacons.

Mesh beacons no longer use all-zeroes BSSID.  Beacon frames for MBSS,
infrastructure BSS, or IBSS are differentiated by the Capability
Information field in the Beacon frame.  A mesh STA sets the ESS and IBSS
subfields to 0 in transmitted Beacon or Probe Response management
frames.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: Drop MESH_PLINK category and use new ANA-approved MESH_ACTION
Javier Cardona [Tue, 3 May 2011 23:57:09 +0000 (23:57 +0000)]
mac80211: Drop MESH_PLINK category and use new ANA-approved MESH_ACTION

Note: This breaks compatibility with previous mesh protocol instances.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update readme
Christian Lamparter [Wed, 25 May 2011 20:22:49 +0000 (22:22 +0200)]
carl9170 firmware: update readme

Add instructions on how to install firmware images.

Reported-by: Marius Ladegaard Meyer <marius.l.meyer@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add cmake helpers
Christian Lamparter [Tue, 24 May 2011 22:52:59 +0000 (00:52 +0200)]
carl9170 firmware: add cmake helpers

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update build system to accommodate for new cmake config
Christian Lamparter [Tue, 24 May 2011 22:48:27 +0000 (00:48 +0200)]
carl9170 firmware: update build system to accommodate for new cmake config

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: replace makefile with cmake
Christian Lamparter [Tue, 24 May 2011 22:38:14 +0000 (00:38 +0200)]
carl9170 firmware: replace makefile with cmake

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: initial WoWLAN support
Christian Lamparter [Fri, 13 May 2011 23:42:39 +0000 (01:42 +0200)]
carl9170 firmware: initial WoWLAN support

Unlike the previous proof-of-concept implementation, this
one supports nl80211's magic packet & disconnect wakeup
triggers. Furthermore, the trigger can be enabled from
userspace with "iw", so there's no need for a custom
firmware anymore.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: put CAB flush into a sub procedure
Christian Lamparter [Sat, 7 May 2011 15:58:03 +0000 (17:58 +0200)]
carl9170 firmware: put CAB flush into a sub procedure

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: general purpose desc for internal use
Christian Lamparter [Sat, 7 May 2011 14:42:47 +0000 (16:42 +0200)]
carl9170 firmware: general purpose desc for internal use

the new fw_desc can be used by any service routine
within the firmware to generate frames within the
firmware.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove unnecessary initializations
Christian Lamparter [Sat, 7 May 2011 14:20:59 +0000 (16:20 +0200)]
carl9170 firmware: remove unnecessary initializations

13 years agocarl9170 firmware: enable BA REQ responder by default
Christian Lamparter [Sat, 7 May 2011 14:15:23 +0000 (16:15 +0200)]
carl9170 firmware: enable BA REQ responder by default

This feature is mandatory in the 802.11n standard.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 tools: fix error code propagation
Christian Lamparter [Fri, 6 May 2011 20:15:29 +0000 (22:15 +0200)]
carl9170 tools: fix error code propagation

eeprom_fix.c: In function ‘get_addr’:
eeprom_fix.c:44:6: warning: variable ‘err’ set but not us

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: add HT extended capabilities masks
Bing Zhao [Thu, 31 Mar 2011 01:01:15 +0000 (18:01 -0700)]
ieee80211: add HT extended capabilities masks

IEEE Std 802.11n, Oct. 29, 2009:
7.3.2.56.5 HT Extended Capabilities field

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firwmare: toolchain gcc 4.4.6
Christian Lamparter [Mon, 25 Apr 2011 21:41:17 +0000 (23:41 +0200)]
carl9170 firwmare: toolchain gcc 4.4.6

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware build: mkdir include/generated when not present
Christian Lamparter [Wed, 30 Mar 2011 11:41:21 +0000 (13:41 +0200)]
carl9170 firmware build: mkdir include/generated when not present

Quote from Marius L. Meyer:
I discovered what the problem was. The directory include/generated does not
exist and does not get created anywhere in the process. So when
configure/conf tries to rename .tmpconfig.h to include/generated/autoconf.h,
it fails. The problem is solved by simply creating the directory before
running autogen.sh.

Reported-by: Marius Ladegaard Meyer
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: put _start into the .boot section
Christian Lamparter [Sun, 27 Mar 2011 20:44:59 +0000 (22:44 +0200)]
carl9170 firmware: put _start into the .boot section

Without this change, the _start entry is not placed
at the correct position and as a result the firmware
boot fails.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firwmare: toolchain gcc 4.6.0
Christian Lamparter [Sun, 27 Mar 2011 18:48:46 +0000 (20:48 +0200)]
carl9170 firwmare: toolchain gcc 4.6.0

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix gcc-4.6 compiler warnings
Christian Lamparter [Fri, 11 Mar 2011 23:09:43 +0000 (00:09 +0100)]
carl9170 firmware: fix gcc-4.6 compiler warnings

include/timer.h:87:20: warning: inlining failed in call to \
‘clock_set’: call is unlikely and code size would grow [-Winline]

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix uninitialized txfail variable
Christian Lamparter [Fri, 11 Mar 2011 23:01:26 +0000 (00:01 +0100)]
carl9170 firmware: fix uninitialized txfail variable

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: add IEEE80211_COUNTRY_STRING_LEN definition
Bing Zhao [Mon, 7 Mar 2011 19:14:23 +0000 (11:14 -0800)]
ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoMerge carl9170fw
Christian Lamparter [Fri, 11 Mar 2011 00:42:35 +0000 (01:42 +0100)]
Merge carl9170fw

Conflicts:
carlfw/Kconfig
carlfw/include/wl.h
carlfw/src/wlan.c

13 years agocarl9170 firmware: simplify BACKREQ pool handling
Christian Lamparter [Fri, 11 Mar 2011 00:05:09 +0000 (01:05 +0100)]
carl9170 firmware: simplify BACKREQ pool handling

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: more useful tx_queue hw registers names
Christian Lamparter [Fri, 11 Mar 2011 00:00:17 +0000 (01:00 +0100)]
carl9170 firmware: more useful tx_queue hw registers names

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: optimize tx_status hot-path
Christian Lamparter [Thu, 10 Mar 2011 23:53:25 +0000 (00:53 +0100)]
carl9170 firmware: optimize tx_status hot-path

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: drop failed frames faster
Christian Lamparter [Sat, 5 Mar 2011 22:48:07 +0000 (23:48 +0100)]
carl9170 firmware: drop failed frames faster

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>