carl9170fw.git
11 years agocarl9170 firmware: update version to 1.9.8 1.9.8
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>
11 years agokbuild: Fix missing '\n' for NEW symbols in yes "" | make oldconfig >conf.new
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>
11 years agokconfig: Fix malloc handling in conf tools
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>
11 years agokconfig: get CONFIG_ prefix from the environment
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>
11 years agokconfig: add a function to get the CONFIG_ prefix
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>
11 years agocarl9170 firmware: always reset usb endpoints
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>
11 years agocarl9170 toolchain: update to gcc-4.8.0
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>
11 years agomac80211: restrict peer's VHT capabilities to own
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>
11 years agowireless: remove unused VHT MCS defines
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>
11 years agoieee80211: mark 802.11 related structs as being 2-byte aligned
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>
11 years agowireless: move sequence number arithmetic to ieee80211.h
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>
11 years agomac80211: advertise operating mode notification capability
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>
11 years agomac80211: constify IE parsing
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>
11 years agocarl9170 firmware: implement endpoint halt req/clear and get endpoint status
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>
11 years agomac80211: support HT notify channel width action
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>
11 years agowireless: use __packed in ieee80211.h
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>
11 years agowireless: more 'capability info' bits
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>
11 years agocarl9170 firmware: improve link stability
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>
11 years agocarl9170: fix CONFIG_CARL9170FW_DEBUG && !CONFIG_CARL9170FW_RADIO_FUNC
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>
11 years agocarl9170 firmware: USB_MODESWITCH depends on USB_STANDARD_CMDS
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>
11 years agocarl9170 firmware: fix CONFIG_CARL9170FW_DEBUG compile error
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>
11 years agocarl9170 firmware: fix CONFIG_CARL9170FW_DEBUG_UART compile error
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>
11 years agocarl9170 firmware: fix !CONFIG_CARL9170FW_RADIO_FUNCTIONS compile errors
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>
11 years agocarl9170: allow kconfig options in autogen.sh's parameters
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>
11 years agocarl9170: fix out of bounds read
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>
11 years agocarl9170: fix indention and add missing fi
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>
11 years agocarl9170: Install binary in the parent directory, not /lib/firmware
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>
11 years agocarl9170: Add checksum during installation, as preferred by the driver
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>
11 years agocarl9170: Add and check SHA-256 sums for the toolchain tarballs
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>
11 years agocarl9170: Fix minimum CMake version
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>
11 years agocarl9170: Add full licence texts to BSD-licenced CMake files
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>
11 years agocarl9170 firmware: toolchain newlib 2.0.0
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>
11 years agocarl9170 firmware: update version to 1.9.7 1.9.7
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>
11 years agomenuconfig: Replace CIRCLEQ by list_head-style lists.
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>
11 years agomenuconfig: Assign jump keys per-page instead of globally
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>
11 years agomenuconfig: Add jump keys to search results
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>
11 years agowireless: fix VHT max AMPDU exponent definition
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>
11 years agomac80211: support VHT association
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>
11 years agowireless: add definitions for VHT MCS support
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>
11 years agomac80211: move Mesh Capability field definition to ieee80211.h
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>
11 years agomac80211: introduce IEEE80211_NUM_TIDS and use it
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>
11 years agocarl9170 firmware: fix max beacon length
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>
11 years agowireless: add peer-to-peer related definitions
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>
11 years agocarl9170 firmware toolchain: binutils 2.23.1
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>
11 years agowireless: remove duplicate enum ieee80211_eid definitions
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>
11 years agoieee80211: Rename VHT cap struct
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>
11 years agowireless: remove obsolete chan no/center freq conversion functions
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>
11 years agocarl9170 firmware toolchain: binutils 2.23
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>
11 years agocarl9170 firmware toolchain: various small updates
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>
11 years agocarl9170 firmware: add note about rx filter usage
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>
11 years agocarl9170 firmware: remove inline attributes
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>
11 years agocarl9170 toolchain: update to gcc-4.7.2
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>
11 years agocarl9170 firmware tools: update .gitignore
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>
11 years agokconfig: allow long lines in config file
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>
11 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>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
11 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"

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>
11 years agocarl9170 firmware: extract tx and rx code from wlan.c into separate files
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>
11 years agocarl9170 firmware: remove CONFIG_CARL9170FW_CAB_QUEUE
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>
11 years agocarl9170 firmware: move cmd.c into hostif.c
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>
11 years agocarl9170 firmware: refactor timer functions
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>
11 years agocarl9170: remove eeprom_fix utility
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>
11 years agocarl9170: link time optimization build
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>
11 years agocarl9170 toolchain: update toolchain disk space requirements
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>
11 years agokbuild: all{no,yes,mod,def,rand}config only read files when instructed to.
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>
11 years agokconfig: Add error handling to KCONFIG_ALLCONFIG
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>
11 years agocarl9170: remove carlu
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>
11 years agowireless: 60g protocol constants
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>
11 years agowireless: add VHT (802.11ac) definitions
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>
11 years agoieee80211: more OUI type definitions for WLAN_OUI_MICROSOFT
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>
11 years agomac80211: implement the proactive PREQ generation
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>
11 years agoieee80211: definitions for Microsoft Vendor OUI and WPA OUI type
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>
11 years ago{nl,cfg,mac}80211: fix the coding style related to mesh parameters
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>
11 years agocarl9170 cmake: config requires at least cmake 2.8.4
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>
11 years agocarl9170 firmware: update version to 1.9.6 1.9.6
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>
11 years agocarl9170 firmware: add automatic BA filter
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>
11 years agocarl9170 firmware: set NO ACK bit in BA control
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>
11 years agoRevert "carl9170 firmware: add workaround for carl vs. mac BAR problem"
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>
11 years agocarl9170 firmware: add workaround for carl vs. mac BAR problem
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>
11 years agocarl9170 firmware: add note about BAR tx status issues
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>
11 years agocarl9170 firmware: fix BAR -> BA handling
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>
11 years agocarl9170 toolchain: update to gcc-4.7.1
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>
11 years agomac80211: Set the correct values for hwmp (1) and airtimeLinkMetric (1)
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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>