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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Christian Lamparter [Wed, 29 Jun 2011 21:59:27 +0000 (23:59 +0200)]
Merge branch 'master' of git://git./linux/kernel/git/chr/carl9170fw
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>
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>
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>
Christian Lamparter [Sat, 28 May 2011 16:40:49 +0000 (18:40 +0200)]
Merge git://git./linux/kernel/git/chr/carl9170fw into wol
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Christian Lamparter [Sat, 7 May 2011 14:20:59 +0000 (16:20 +0200)]
carl9170 firmware: remove unnecessary initializations
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>
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>