Larry Finger [Thu, 19 Apr 2012 21:32:41 +0000 (16:32 -0500)]
rtlwifi: rtl8192c: Convert driver to use private dm structs
Convert rtl8192c to use the dm_digtable struct in the common header file
instead of the global variable. Without this change, every instance of
rtl8192ce and rtl8192cu will be using the same global arrays.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Thu, 19 Apr 2012 21:32:40 +0000 (16:32 -0500)]
rtlwifi: Add dm structs to private structure
Add the dig_t and ps_t structures to the private variables.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Thu, 19 Apr 2012 21:32:39 +0000 (16:32 -0500)]
rtlwifi: Move dig_t and ps_t structs
Move struct definitions for dig_t and ps_t to the common header file.
This move is needed to convert these structures from a "per-driver" to a
"per-interface" basis.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:29 +0000 (21:18 +0200)]
ath9k_hw: increase tx abort timeout for half/quarter channels
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:28 +0000 (21:18 +0200)]
ath9k_hw: disable fast channel change when changing from/to half/quarter mode
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:27 +0000 (21:18 +0200)]
ath9k_hw: disable Tx IQ calibration on half/quarter channels
It does not work properly and reduces throughput.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:26 +0000 (21:18 +0200)]
ath9k_hw: fix and clean up PHY activation delay
The delay calculation is the same for all chips, however some parts of the
code missed the extra delay factor for half/quarter.
Clean up the code and move the delay calculation to a common place.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:25 +0000 (21:18 +0200)]
ath9k_hw: increase symbol overlap window for half/quarter channels
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:24 +0000 (21:18 +0200)]
ath9k_hw: set the PHY mode for half/quarter channels on AR9003
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:23 +0000 (21:18 +0200)]
ath9k_hw: increase ACK timeout for half/quarter channels
For some reason the MAC timing is a bit off when waiting for ACKs, so add
some extra delay to the ACK timeout values. Significantly reduces the
number of retransmissions in my tests.
Also disable the 2.4 GHz ACK timeout workaround in half/quarter mode, it
is not required there.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 19:18:22 +0000 (21:18 +0200)]
ath9k_hw: use standard SIFS time as reference for half/quarter channels
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Thu, 19 Apr 2012 13:43:52 +0000 (19:13 +0530)]
ath9k_hw: remove ATH_BTCOEX_CFG_MCI
AR9462 uses modified version of 3-Wire hw scheme for btcoex.
MCI itself is not a separate hw scheme but it aids to manage
multiple bt profiles. In ar9462, bt priority traffic is identified
by the number of bt profile types instead of gpio. So that this
patch removes MCI hw scheme.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Thu, 19 Apr 2012 13:43:51 +0000 (19:13 +0530)]
ath9k: simplify beacon configuration for beaconing vifs
As of now beacon configuration is being called multiple times
in bss info change notification. This patch avoids multiple
configuration and make it simpler.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Zefir Kurtisi [Thu, 19 Apr 2012 12:03:04 +0000 (14:03 +0200)]
ath9k: make DFS detector pools SMP safe
This adds locking of the detector's shared pulse and PRI sequence
pools to enable multi-wiphy operation on SMP systems.
Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 19 Apr 2012 11:54:12 +0000 (13:54 +0200)]
libertas: add missing include
Without it, I get compile errors due to missing TASK_NORMAL,
TASK_UNINTERRUPTIBLE and schedule.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Helmut Schaa [Thu, 19 Apr 2012 11:24:10 +0000 (13:24 +0200)]
rt2x00: Use GFP_KERNEL for rx buffer allocation on USB devices
Since the RX path on USB devices is handled in process context we can
use GFP_KERNEL for RX buffer allocation. This should reduce the
likelihood of allocation failures.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Tested-By: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Anisse Astier [Thu, 19 Apr 2012 09:20:32 +0000 (11:20 +0200)]
rt2800: debugfs register access: BBP is 256 bytes big
We're already using BBP for values > 128. Make that explicit and allow
debugfs access.
Signed-off-by: Anisse Astier <anisse@astier.eu>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Amitkumar Karwar [Thu, 19 Apr 2012 03:08:28 +0000 (20:08 -0700)]
mwifiex: add support for Marvell USB8797 chipset
This patch supports Avastar 88W8797 chipset with USB interface.
The corresponding firmware image file is located at:
"mrvl/usb8797_uapsta.bin"
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Kiran Divekar <dkiran@marvell.com>
Signed-off-by: Frank Huang <frankh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Thomas Pedersen [Thu, 19 Apr 2012 02:24:14 +0000 (19:24 -0700)]
mac80211: fix STA channel width field
According to IEEE 802.11 8.4.2.59, set the "STA channel width" bit to 0
if transmitting STA is using a 20mhz channel.
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Thomas Pedersen [Thu, 19 Apr 2012 02:24:13 +0000 (19:24 -0700)]
mac80211: don't set mesh peer ht caps if ht disabled
Blindly setting ht caps on a mesh peer's station entry would result in
MCS rates being used by the rate control algorithm even if no ht had
been configured. Fix this by checking the channel type before assigning
ht capabilites.
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Thomas Pedersen [Thu, 19 Apr 2012 02:23:43 +0000 (19:23 -0700)]
mac80211: refactor mesh peer rate handling
To avoid passing supp_rates and basic_rates around all the time, just
derive these when needed in mesh_matches_local() and mesh_peer_init().
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Thomas Pedersen [Thu, 19 Apr 2012 02:23:42 +0000 (19:23 -0700)]
mac80211: refactor mesh peer initialization
This patch unifies the previous two paths toward mesh peer creation a
bit. It also fixes a bug where a peer's changing rates or HT mode
wouldn't register on leaving and then returning to the mesh with a sta
entry still present.
Also clean up locking and clear possibly stale ht cap.
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Wed, 18 Apr 2012 20:23:38 +0000 (22:23 +0200)]
ath9k: fix TX power reporting on AR9003 chips
The current code unconditionally reads the target
power values for all modes from the EEPROM. However
In 'ar9003_hw_set_power_per_rate_table' the regulatory
caps are applied only on a mode specific subset of the
power values.
The reported TX power level is calculated from the
maximum of the power values. Because some of these
values are uncapped in certain cases, the reported
TX power will be wrong.
On the older chipset, we don't have such problems
because only the mode specific subset of the power
levels are retrieved from the EEPROM on those. Do
the same for the AR9003 chips to fix the issue.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Drake [Wed, 18 Apr 2012 19:09:44 +0000 (20:09 +0100)]
libertas CS: convert to asynchronous firmware loading
Signed-off-by: Daniel Drake <dsd@laptop.org>
Tested-by: Dan Williams <dcbw@redhat.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ben Greear [Tue, 17 Apr 2012 22:19:03 +0000 (15:19 -0700)]
ath9k: Fix compile warnings when DEBUGFS is disabled.
This fixes two compile warnings, and removes a useless
cast when assigning the 'sc' variable.
Reported-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ben Greear [Tue, 17 Apr 2012 17:54:16 +0000 (10:54 -0700)]
mac80211: Support on-channel scan option.
This based on an idea posted by Stanislaw Gruszka,
though I accept full blame for the implementation!
This has been tested with ath9k.
The idea is to let users scan on the current operating
channel without interrupting normal traffic more than
absolutely necessary (changing power level might reset
some hardware, for instance).
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Xose Vazquez Perez [Tue, 17 Apr 2012 14:28:05 +0000 (16:28 +0200)]
wireless: rt2x00: rt2800usb more devices were identified
found in 2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
RT3070:
(0x2019,0x5201) Planex Communications, Inc. RT8070
(0x7392,0x4085) 2L Central Europe BV 8070
7392 is Edimax
RT35xx:
(0x1690,0x0761) Askey
was Fujitsu Stylistic 550, but 1690 is Askey
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Tue, 17 Apr 2012 00:40:07 +0000 (02:40 +0200)]
ath9k: add possible wiphy interface combinations
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Xose Vazquez Perez [Mon, 16 Apr 2012 23:50:32 +0000 (01:50 +0200)]
wireless: rt2x00: rt2800usb add more devices ids
They were taken from ralink drivers:
2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO
2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
0x1eda,0x2210 RT3070 Airties
0x083a,0xb511 RT3370 Panasonic
0x0471,0x20dd RT3370 Philips
0x1690,0x0764 RT35xx Askey
0x0df6,0x0065 RT35xx Sitecom
0x0df6,0x0066 RT35xx Sitecom
0x0df6,0x0068 RT35xx Sitecom
0x2001,0x3c1c RT5370 DLink
0x2001,0x3c1d RT5370 DLink
2001 is D-Link not Alpha
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Sun, 25 Mar 2012 20:01:28 +0000 (22:01 +0200)]
iwlwifi: move iwl_rxon_context_id to user
It can be moved to iwl-dev.h since it is op_mode specific.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Johannes Berg [Mon, 19 Mar 2012 16:12:06 +0000 (17:12 +0100)]
iwlwifi: improve TX cache footprint
Having cmd[], meta[] and skbs[] as separate arrays
in the TX queue structure is cache inefficient as
we need the data for a given entry together.
To improve this, create an array with these three
members (allocate meta as part of that struct) so
we have the data we need together located together
improving cache footprint.
The downside is that we need to allocate a lot of
memory in one chunk, about 10KiB (on 64-bit) which
isn't very efficient.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Mon, 26 Mar 2012 13:50:55 +0000 (15:50 +0200)]
iwlwifi: split between AGG_ON and AGG_STARTING
This allows not to notify the transport about aggregation stopped
while aggregation haven't been started.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
David Spinadel [Tue, 27 Mar 2012 08:22:29 +0000 (10:22 +0200)]
iwlwifi: Remove inconsistent and redundant declaration
Remove declaration of iwl_alloc_traffic_mem from iwl-agn.h,
from methods that was exposed to support MVM.
MVM doesn't have to use this declaration.
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
David Spinadel [Sun, 25 Mar 2012 14:20:12 +0000 (16:20 +0200)]
iwlwifi: Added foreward declaration for iwl_cfg in op_mode
Please merge this with "iwlwifi: op_mode holds its pointer
to the config"
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
David Spinadel [Mon, 26 Mar 2012 05:30:54 +0000 (07:30 +0200)]
iwlwifi: Change disable calibration bit-set to enum
Changed disable calibration bit field defines to enum.
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Mon, 26 Mar 2012 16:13:49 +0000 (09:13 -0700)]
iwlwifi: remove unneeded includes
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Mon, 26 Mar 2012 16:03:18 +0000 (09:03 -0700)]
iwlwifi: remove the shared area
It is not needed any more.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Thu, 22 Mar 2012 21:59:52 +0000 (23:59 +0200)]
iwlwifi: don't use shared for the logger any more
Each modules will hold a pointer to struct device instead.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Thu, 22 Mar 2012 15:51:44 +0000 (17:51 +0200)]
iwlwifi: driver holds its pointer to the transport
Instead of using the shared area that we be killed.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Mon, 26 Mar 2012 15:57:01 +0000 (08:57 -0700)]
iwlwifi: transport holds its pointer to the config
Instead of using the shared area that we be killed.
Remove the pointer to config from shared since it is not
used any more.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Thu, 22 Mar 2012 15:51:44 +0000 (17:51 +0200)]
iwlwifi: driver holds its pointer to the config
Instead of using the shared area that will be killed.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Thu, 22 Mar 2012 15:51:44 +0000 (17:51 +0200)]
iwlwifi: op_mode holds its pointer to the config
Instead of using the shared area that we be killed.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Wed, 18 Apr 2012 14:28:17 +0000 (07:28 -0700)]
iwlwifi: op_mode holds its pointer to the transport
Instead of using the shared area that we be killed.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Mon, 26 Mar 2012 15:51:09 +0000 (08:51 -0700)]
iwlwifi: kill shrd->drv, driver points to transport
The driver layer now holds a pointer to the transport,
and shrd->drv is not needed any more, so kill it.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Amitkumar Karwar [Tue, 17 Apr 2012 04:36:52 +0000 (21:36 -0700)]
mwifiex: corrections in timestamp related code
We get two timing related fields for each bss from firmware in scan
results.
1) timestamp - Actual timestamp information in probe response/beacon
2) network_tsf - firmware's TSF value at the time the beacon or probe
response was received.
Both are needed while associating by firmware.
The patch takes care of following things.
1) We should pass "timestamp" to cfg80211_inform_bss(), but currently
"network_tsf" is being provided. This error is corrected here.
2) Rename "network_tsf" to "fw_tsf"
3) Make use of u64 variable instead of an array of u8/u32 to save
parsed "timestamp" information.
4) Use timestamp provided to stack in scan results using
cfg80211_inform_bss() while associating. (bss->tsf)
5) Allocate space to save fw_tsf in "priv" of cfg80211_bss
and retrieve it while associating.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Amitkumar Karwar [Tue, 17 Apr 2012 04:36:51 +0000 (21:36 -0700)]
mwifiex: code cleanup in BSS handling
Rearrange some code to save extra parameters to the functions.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Drake [Mon, 16 Apr 2012 22:53:55 +0000 (23:53 +0100)]
libertas USB: convert to asynchronous firmware loading
Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Drake [Mon, 16 Apr 2012 22:53:43 +0000 (23:53 +0100)]
libertas SDIO: convert to asynchronous firmware loading
Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Drake [Mon, 16 Apr 2012 22:53:26 +0000 (23:53 +0100)]
libertas: add asynchronous firmware loading capability
As described at
http://article.gmane.org/gmane.linux.kernel.wireless.general/86084
libertas is taking a long time to load because it loads firmware
during module loading.
Add a new API for interface drivers to load their firmware
asynchronously. The same semantics of the firmware table are followed
like before.
Interface drivers will be converted in follow-up patches, then we can
remove the old, synchronous firmware loading function.
Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Drake [Mon, 16 Apr 2012 22:53:02 +0000 (23:53 +0100)]
libertas: harden-up exit paths
These simple sanity check avoids extra complexity in error paths when
moving to asynchronous firmware loading (which means the device may fail to
init some time after its creation).
Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Drake [Mon, 16 Apr 2012 22:52:42 +0000 (23:52 +0100)]
libertas: Firmware loading simplifications
Remove the ability to pass module parameters with firmware filenames
for USB and SDIO interfaces.
Remove the ability to pass custom "user" filenames to lbs_get_firmware().
Remove the ability to reprogram internal device memory with a different
firmware from the USB driver (we don't know of any users), and simplify
the OLPC firmware loading quirk to simply placing the OLPC firmware
at the top of the list (we don't know of any users other than OLPC).
Move lbs_get_firmware() into its own file.
These simplifications should have no real-life effect but make the
upcoming transition to asynchronous firmware loading considerably less
painful.
Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Andreas Hartmann [Mon, 16 Apr 2012 22:25:28 +0000 (00:25 +0200)]
rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails
There are connection stalls or very poor throughputs with rt2800
hardware using 802.11n in AP mode since patch "mac80211: retry sending
failed BAR frames later instead of tearing down aggr"[1][2].
Since rt2800 hardware is not able to correctly report the tx status of
BAR frames, this patch removes as workaround the existing error handling
on AP side, which lets mac80211 send a BAR when an AMPDU subframe fails.
As a result, most wifi clients (aside from Intel STAs on Windows)
instead will timeout now the reorder buffer and request the lost frame
again.
The correct solution would be, to tear down BA session on AP side.
This patch was born on the basis of "[RFT] rt2x00: Tear down BA
session on QoS frame failure"[3].
Thanks to Helmut Schaa for his support!
[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/83297/focus=83304
[2] http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=
f0425beda4d404a6e751439b562100b902ba9c98
[3] http://thread.gmane.org/gmane.linux.drivers.rt2x00.user/569
Signed-off-by: Andreas Hartmann <andihartmann@01019freenet.de>
Acked-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Mon, 16 Apr 2012 20:46:32 +0000 (22:46 +0200)]
ath9k: use ath9k_hw_fbin2freq instead of FBIN2FREQ
The FBIN2FREQ macro and the ath9k_hw_fbin2freq function
does the same thing. Remove the macro, and use the inline
function instead.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Mon, 16 Apr 2012 20:46:31 +0000 (22:46 +0200)]
ath9k: move ath9k_hw_fbin2freq function to eeprom.h
Both eeprom.c and ar9003_eeprom.c has an indentical
'ath9k_hw_fbin2freq' function. Move the function to
a common place and remove the duplicates.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Mon, 16 Apr 2012 20:22:50 +0000 (22:22 +0200)]
ath9k: remove unused PWRINC_*_TO_*_CHAIN defines
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Mon, 16 Apr 2012 20:22:49 +0000 (22:22 +0200)]
ath9k: merge power correction constants
The existing constants are used for reduction/increase
tx power level on devices with 2x2 and 3x3 chainmask.
Both reduction and increase must use the same value, so
it makes no sense to use separate constants for them.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Julia Lawall [Mon, 16 Apr 2012 15:44:00 +0000 (17:44 +0200)]
drivers/net/wireless/libertas/if_usb.c: add missing debugging code
Add a corresponding leave call on error failure.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Mon, 26 Mar 2012 15:23:39 +0000 (08:23 -0700)]
iwlwifi: remove get_cmd_string
The command strings are needed through the layers for
debug and error messages, but can differ with opmode.
As a result, we need to give the command names to the
transport layer as configuration.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Johannes Berg [Mon, 16 Apr 2012 21:48:08 +0000 (14:48 -0700)]
iwlwifi: optimize struct iwl_cmd_meta layout
Having a u32 before a potential 64-bit value is
not very efficient, move it last.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
David Spinadel [Mon, 16 Apr 2012 21:43:30 +0000 (14:43 -0700)]
iwlwifi: expose static methods for MVM use
To support hybrid state of MVM op_mode, most of the functioanallity
will be done using DVM functions.
When MVM will have independant live, the declarations will be removed
and the functions will be static back.
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
David Spinadel [Thu, 15 Mar 2012 09:22:31 +0000 (11:22 +0200)]
iwlwifi: phy db channel to tx power channel group
Implement mapping of channel to TX power channel group,
for sending channel specific data before add context.
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Dor Shaish [Mon, 26 Mar 2012 15:20:55 +0000 (08:20 -0700)]
iwlwifi: Disabling calibrations variable
Add a variable for disabling specific calibrations.
Merged old variables for calibrations disabling.
Signed-off-by: Dor Shaish <dor.shaish@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Emmanuel Grumbach [Tue, 20 Mar 2012 12:50:09 +0000 (14:50 +0200)]
iwlwifi: remove uneeded include from iwl-pci.c
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
David Spinadel [Tue, 13 Mar 2012 12:46:38 +0000 (14:46 +0200)]
iwlwifi: remove double verification of ucode sections
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
David Spinadel [Tue, 13 Mar 2012 12:32:48 +0000 (14:32 +0200)]
iwlwifi: set size of ucode section
Set size of firmware section in mvm bundle format.
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Johannes Berg [Fri, 23 Mar 2012 15:37:30 +0000 (08:37 -0700)]
iwlwifi: remove iwl_tx_queue declaration
The declaration isn't needed as the struct is only
used in code that includes the right header file.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Don Fry [Fri, 23 Mar 2012 15:34:31 +0000 (08:34 -0700)]
iwlwifi: move status definitions from iwl-shared
The code has been changed, move the definitions to the proper file
being used by the code.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Amit Beka [Sun, 19 Feb 2012 09:07:46 +0000 (11:07 +0200)]
iwlwifi: added HBUS_TARG_TEST_REG
This register is used to enable some debug mechanisms.
Signed-off-by: Amit Beka <amit.beka@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Don Fry [Tue, 20 Mar 2012 23:36:54 +0000 (16:36 -0700)]
iwlwifi: move HCMD_ACTIVE to trans
The HCMD_ACTIVE bit is only used in trans.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Don Fry [Tue, 20 Mar 2012 17:33:34 +0000 (10:33 -0700)]
iwlwifi: complete STATUS_READY refactoring
When WiMax takes over the RF, inform the op_mode.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Johannes Berg [Fri, 9 Mar 2012 08:42:52 +0000 (09:42 +0100)]
iwlwifi: remove antenna from mod params struct
It doesn't even exist as a module parameter,
so just remove the item from the struct.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Johannes Berg [Fri, 9 Mar 2012 08:16:35 +0000 (09:16 +0100)]
iwlwifi: remove uCode alternatives mechanism
We've never released firmware using the alternatives
mechanism and our build process makes that difficult
anyway. This means that in every file we have ever
built (except maybe by hand for testing) the listed
alternative was 0. Make the alternative field in the
TLVs part of the TLV number (thus expanding that to
32 bits); this gives us more TLV numbers (not really
needed) and more importantly protects against rogue
firmware files that actually do use the alternatives
mechanism -- those will now be rejected since they
don't contain any valid TLVs.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Johannes Berg [Fri, 9 Mar 2012 07:58:46 +0000 (08:58 +0100)]
iwlwifi: remove no_sleep_autoadjust
My original idea with this was to adjust the sleep
pattern of the uCode based on the maximum network
latency userspace asked for. Due to nobody wanting
to test it, this logic was disabled by default. It
seems the time has come to remove it, since it's
not only always disabled but there also don't seem
to be any applications that actually request a max
network latency.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Xose Vazquez Perez [Sat, 14 Apr 2012 21:33:21 +0000 (23:33 +0200)]
wireless: rt2x00: rt2800pci add more RT539x ids
RT539x devices:
(0x1814, 0x5362)
(0x1814, 0x5392)
Taken from ralink driver 2011_0406_RT5390_RT5392_Linux_STA_V2.5.0.3_DPO
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Xose Vazquez Perez [Sat, 14 Apr 2012 21:00:01 +0000 (23:00 +0200)]
wireless: rt2x00: rt{2500,73}usb.c put back duplicate id
put back 0x050d,0x7050 to rt73usb, same usb_id for two chips:
K7SF5D7050A ver 2xxx is rt2500
K7SF5D7050B ver 3xxx is rt73
<http://en-us-support.belkin.com/app/answers/detail/a_id/297/kw/K7SF5D7050>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Sat, 14 Apr 2012 20:01:59 +0000 (22:01 +0200)]
ath9k: simplify ath9k_hw_get_scaled_power function
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Sat, 14 Apr 2012 20:01:58 +0000 (22:01 +0200)]
ath9k: introduce ath9k_hw_get_scaled_power helper
The computation of the scaled power value in
various eeprom files uses identical code. Move
that code into a helper function and use that
instead of code duplication.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Sat, 14 Apr 2012 20:01:57 +0000 (22:01 +0200)]
ath9k: use consistent value for REDUCE_SCALED_POWER_BY_THREE_CHAIN
The REDUCE_SCALED_POWER_BY_THREE_CHAIN symbol is
defined in different eeprom files, and the value
varies between the different files.
In eeprom_def.c and in ar9003_eeprom.c the value
of the symbol is 9, however the comments in these
files indicates the value should be 10*log10(3)*2
which is 9.
54242509439325. Replace the the value
to 10 in these files.
Also add comments to eeprom_9287.c.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Gabor Juhos [Sat, 14 Apr 2012 18:35:19 +0000 (20:35 +0200)]
ath9k: use ath9k_hw_update_regulatory_maxpower in ath9k_hw_def_set_txpower
We have a helper function for updating the max_power_level
value. Use that and remove the duplicated code.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Axel Lin [Sat, 14 Apr 2012 02:38:36 +0000 (10:38 +0800)]
net/wireless: use module_pci_driver
This patch converts the drivers in drivers/net/wireless/* to use
module_pci_driver() macro which makes the code smaller and a bit simpler.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Cc: Nick Kossifidis <mickflemm@gmail.com>
Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
Cc: Simon Kelley <simon@thekelleys.org.uk>
Cc: Jouni Malinen <j@w1.fi>
Cc: Lennert Buytenhek <buytenh@wantstofly.org>
Cc: Christian Lamparter <chunkeey@googlemail.com>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: linux-wireless@vger.kernel.org
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Fri, 13 Apr 2012 19:02:57 +0000 (12:02 -0700)]
mac80211: add function retrieve average rssi
Add utility function to provide the average rssi per vif
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Fri, 13 Apr 2012 18:57:43 +0000 (13:57 -0500)]
rtlwifi: rtl8192ce: Remove false positives for kmemleak
When rtl8192ce is in operation, kmemleak indicates a number of leaks, yet
when the driver is removed all are gone. These false positives happen
in two locations:
unreferenced object 0xffff880041124000 (size 9536):
comm "work_for_cpu", pid 9295, jiffies
4295037203 (age 20596.320s)
hex dump (first 32 bytes):
33 00 00 01 01 6d 00 00 00 00 b1 0e 21 0b 00 00 3....m......!...
01 01 6d 00 00 00 00 8b 20 c0 e9 00 00 01 01 6d ..m..... ......m
backtrace:
[<
ffffffff8137a1b1>] kmemleak_alloc+0x21/0x50
[<
ffffffff8138d01f>] kmalloc_large_node+0x9a/0xa6
[<
ffffffff811335a5>] __kmalloc_node_track_caller+0x175/0x3b0
[<
ffffffff812ddfe3>] __alloc_skb+0x73/0x230
[<
ffffffff812de1b8>] dev_alloc_skb+0x18/0x30
[<
ffffffffa091a3b7>] rtl_pci_probe+0x10e0/0x17d2 [rtlwifi]
-- snip --
unreferenced object 0xffff8800b4d3f600 (size 256):
comm "kworker/u:2", pid 13221, jiffies
4297830173 (age 9424.568s)
hex dump (first 32 bytes):
1c d6 45 b1 00 88 ff ff 1c d6 45 b1 00 88 ff ff ..E.......E.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<
ffffffff8137a1b1>] kmemleak_alloc+0x21/0x50
[<
ffffffff81130f43>] kmem_cache_alloc_node+0x153/0x270
[<
ffffffff812ddfb6>] __alloc_skb+0x46/0x230
[<
ffffffff812de1b8>] dev_alloc_skb+0x18/0x30
[<
ffffffffa093264a>] rtl92c_set_fw_rsvdpagepkt+0x22a/0x5c0 [rtl8192c_common]
-- snip --
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Yoshinori Sato [Fri, 13 Apr 2012 15:32:32 +0000 (00:32 +0900)]
ath5k: add PCI id
This device works fine of ath5k.
Details bellow
05:00.0 0200: 168c:ff1b (rev 01)
05:00.0 Ethernet controller: Atheros Communications Inc. Device ff1b (rev 01)
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at
febf0000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: ath5k
ath5k 0000:05:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ath5k 0000:05:00.0: setting latency timer to 64
ath5k 0000:05:00.0: registered as 'phy0'
ath: EEPROM regdomain: 0x67
ath: EEPROM indicates we should expect a direct regpair map
ath: Country alpha2 being used: 00
ath: Regpair used: 0x67
ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Fri, 13 Apr 2012 11:14:22 +0000 (16:44 +0530)]
ath9k: fix beacon descriptor
The tx interrupt for beacon queue is configured only for edma chips.
As the edma chip does not support per descriptor interrupt, no need to
set INTREQ for every beacon descriptor. And also clear ps filter for
beacon frame.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Fri, 13 Apr 2012 11:14:21 +0000 (16:44 +0530)]
ath9k: skip beaconing when reset work is pending
Whenever the reset work is queued up, do not generate beacon. And also
clear the beacon miss count once the beacon stuck was observed.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Fri, 13 Apr 2012 11:14:20 +0000 (16:44 +0530)]
ath9k: reset noiseimmunity level to default
After the chip reset, the noise immunity levels are restored with
history values. If the immunity levels are lower than the defaults,
lets start with the optimal values.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Fri, 13 Apr 2012 11:08:40 +0000 (16:38 +0530)]
cfg80211: increse bss expire time
The background scan completion takes more time when the station is
having heavy uplink traffic. The scan state machine decides to fall
back to home channel on every off-channel visit when there are pending
frames in tx queue. bgscan completion took ~30sec on dual band US
regulatory card.
scan period = (20 active channels * probe timeout) +
(12 passive channels * passive probe timeout) +
(32 * timeout on home channel) +
(32 * flush timeout)
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Fri, 13 Apr 2012 07:46:34 +0000 (13:16 +0530)]
ath9k: fix ibss beacon next tbtt
Sync-up ibss beacon timer with the beacon frame's timestamp. When the
node acts as joiner, it has to sync with the received beacon timestamp
instead of reading tsf from hw. As the hw tsf wont wont be update till
bssid is configured. This patch programs hw tsf with the received beacon
timestamp if beacon timers are yet to be configured.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Fri, 13 Apr 2012 07:46:33 +0000 (13:16 +0530)]
ath9k: fix ibss fair beacon distribution for AR9462
Update AR9462 initval to fix unbalance beacon distribution
in Ad-Hoc network.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Matt Renzelmann [Thu, 12 Apr 2012 22:42:43 +0000 (17:42 -0500)]
hostap: GFP_ATOMIC/GFP_KERNEL cleanup
The driver is allocating memory during initialization with GFP_ATOMIC
even though GFP_KERNEL is sufficient. This patch fixes it.
Signed-off-by: Matt Renzelmann <mjr@cs.wisc.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Javier Cardona [Thu, 12 Apr 2012 21:32:23 +0000 (14:32 -0700)]
mac80211: Take into account TSF adjustment latency in Toffset setpoint
When testing mesh synchronization we observed a global TSF slowdown that
was dependent on the number of synchronized mesh stations. This seems
to be caused by the TSF adjustment (read/write) latency.
Adding a small margin to the Toffset setpoint solved the problem.
Signed-off-by: Shinichi Hotori <hotorinn@gmail.com>
Signed-off-by: Yu Niiro <yu.niiro@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Javier Cardona [Thu, 12 Apr 2012 21:32:22 +0000 (14:32 -0700)]
mac80211: Choose a new toffset setpoint if a big tsf jump is detected.
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Javier Cardona [Thu, 12 Apr 2012 21:32:21 +0000 (14:32 -0700)]
mac80211_hwsim: fixup for tsf setting
Last patch I sent failed to take into account the offset of each phy.
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.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>
Felix Fietkau [Thu, 12 Apr 2012 20:35:58 +0000 (22:35 +0200)]
ath9k: optimize the hardware hang check
Since it's only called when beacons are stuck, move it to the SWBA handler
tasklet, to avoid doing redundant checks on every single interrupt.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 12 Apr 2012 20:35:57 +0000 (22:35 +0200)]
ath9k: do not register LEDs on AR913x
LED support is typically handled via system GPIO on these platforms.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 12 Apr 2012 20:35:56 +0000 (22:35 +0200)]
ath9k_hw: add support for 8 AP mode interfaces
Also tweak beacon response times for better stability with the shorter
timer intervals.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Jonathan Bither [Thu, 12 Apr 2012 19:44:47 +0000 (15:44 -0400)]
ath5k: use compare_ether_addr on MAC addresses instead of memcmp
Following Felix's recent patchset as an example I have replaced memcmp with
compare_ether_addr.
"Because of the constant size and guaranteed 16 bit alignment, the inline
compare_ether_addr function is much cheaper than calling memcmp."
Signed-off-by: Jonathan Bither <jonbither@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ben Greear [Thu, 12 Apr 2012 17:04:00 +0000 (10:04 -0700)]
ath9k: Gather and report IRQ sync_cause errors.
Report all defined sync_cause errors in debugfs
to aid with debugging.
Use a macro to print out the interrupts file contents
to decrease code duplication.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ben Greear [Thu, 12 Apr 2012 17:03:59 +0000 (10:03 -0700)]
ath9k: Use macro to decrease code when priting recv stats.
This hides some repetitive code, and will help if the
column widths ever need to change.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>