openwrt/staging/blogic.git
12 years agomac80211: check for non-managed interface
Wey-Yi Guy [Mon, 23 Apr 2012 16:30:32 +0000 (09:30 -0700)]
mac80211: check for non-managed interface

Average beacon signal only keep tracked by managed interface,
give warning and return 0 for the others.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoiwlwifi: use new mac80211 queue scheme
Johannes Berg [Tue, 17 Apr 2012 14:39:03 +0000 (07:39 -0700)]
iwlwifi: use new mac80211 queue scheme

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: clean up module parameters
Johannes Berg [Tue, 17 Apr 2012 14:36:30 +0000 (07:36 -0700)]
iwlwifi: clean up module parameters

For now at least, all module parameters should be
with the core functionality, so move them there,
while at it rename to iwlwifi_mod_params. Also
rename iwl-shared.h to iwl-modparams.h to reflect
the real contents.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: revert workaround to restore 1000 rx throughput
Don Fry [Fri, 23 Mar 2012 22:41:07 +0000 (15:41 -0700)]
iwlwifi: revert workaround to restore 1000 rx throughput

A workaround in commit c0486b7ccc5 resulted in a 40% drop in receive
throughput in order to fix a transmit problem.  The transmit problem
no longer occurs, so restore the receive throughput.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: use direct calls for transport free
Johannes Berg [Thu, 12 Apr 2012 13:24:30 +0000 (06:24 -0700)]
iwlwifi: use direct calls for transport free

Since the transport allocates and frees itself in
the transport specific code, there's no need for
virtual functions for it. Remove the free method
and call the correct functions directly.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: clean up some hw file includes
Johannes Berg [Tue, 3 Apr 2012 18:57:59 +0000 (20:57 +0200)]
iwlwifi: clean up some hw file includes

We can't get rid of everything yet due to
the BT definitions that I'm not quite sure
yet how to handle, but we can get rid of
most unneeded includes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move OTP defines
Johannes Berg [Tue, 3 Apr 2012 18:49:20 +0000 (20:49 +0200)]
iwlwifi: move OTP defines

Since the PCI core shouldn't include the
iwl-eeprom.h header file, move the OTP
definitions into iwl-agn-hw.h which can
be included.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move antenna definitions to config
Johannes Berg [Tue, 3 Apr 2012 18:38:44 +0000 (20:38 +0200)]
iwlwifi: move antenna definitions to config

Since they're used in the config, they
should be declared in iwl-config.h.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move eeprom versions to HW files
Johannes Berg [Tue, 3 Apr 2012 18:41:07 +0000 (20:41 +0200)]
iwlwifi: move eeprom versions to HW files

The hardware files belong to the core PCI
functionality, but the eeprom header file
mixes higher-level functionality and the
defines, so move out the specific defines
and put them into the appropriate HW files
instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move watchdog definitions to config
Johannes Berg [Tue, 3 Apr 2012 18:38:44 +0000 (20:38 +0200)]
iwlwifi: move watchdog definitions to config

Since they're used in the config, they
should be declared in iwl-config.h.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move PLCP defines to config
Johannes Berg [Tue, 3 Apr 2012 18:34:46 +0000 (20:34 +0200)]
iwlwifi: move PLCP defines to config

Since they're used in the config, they
should be declared in iwl-config.h.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move driver defines to iwl-drv.h
Johannes Berg [Tue, 3 Apr 2012 23:44:37 +0000 (16:44 -0700)]
iwlwifi: move driver defines to iwl-drv.h

These defines will have to be shared
between modules, but they seem better
placed in iwl-drv.h than iwl-shared.h.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: remove duplicate iwlagn_mod_params declaration
Johannes Berg [Tue, 3 Apr 2012 23:42:03 +0000 (16:42 -0700)]
iwlwifi: remove duplicate iwlagn_mod_params declaration

We only need one declaration, not multiple.
Keep the one in iwl-shared.h, which will
probably be renamed to iwl-modparams.h at
some point in the future.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: remove TX/RX frame statistics
Johannes Berg [Mon, 23 Apr 2012 21:25:51 +0000 (14:25 -0700)]
iwlwifi: remove TX/RX frame statistics

Keeping statistics per frame type really isn't
very useful, and needs a huge amount of code
so remove it. Since that is the only thing in
iwl-core.{c,h} now, those files can be killed.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: remove traffic log
Johannes Berg [Tue, 3 Apr 2012 23:35:41 +0000 (16:35 -0700)]
iwlwifi: remove traffic log

This is superseded by tracing and no longer needed.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move iwl_cmd_echo_test
Johannes Berg [Mon, 2 Apr 2012 13:15:58 +0000 (15:15 +0200)]
iwlwifi: move iwl_cmd_echo_test

The function can be static with the only user.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move TIME_UNIT
Johannes Berg [Mon, 2 Apr 2012 13:14:48 +0000 (15:14 +0200)]
iwlwifi: move TIME_UNIT

We're getting rid of iwl-core.h, move TIME_UNIT out.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: remove bt_siso_mode declaration
Johannes Berg [Mon, 2 Apr 2012 13:09:26 +0000 (15:09 +0200)]
iwlwifi: remove bt_siso_mode declaration

That variable doesn't exist anywhere.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: include net/mac80211.h to avoid compiler error
Wey-Yi Guy [Tue, 3 Apr 2012 23:23:37 +0000 (16:23 -0700)]
iwlwifi: include net/mac80211.h to avoid compiler error

without the include, kernel compiling will fail, but not compat.
this patch need to be merge with iwlwifi-clean-up-iwl-shared.h-includes.patch

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: clean up iwl-shared.h includes
Johannes Berg [Mon, 2 Apr 2012 13:04:33 +0000 (15:04 +0200)]
iwlwifi: clean up iwl-shared.h includes

That file is now holding just a few defines and
the module parameters, so it shouldn't include
anything. Make sure the right users include the
right files instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move iwl_have_debug_level
Johannes Berg [Mon, 2 Apr 2012 12:54:16 +0000 (14:54 +0200)]
iwlwifi: move iwl_have_debug_level

This function belongs into the debugging framework.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: move debugfs registration function declarations
Johannes Berg [Mon, 2 Apr 2012 12:53:08 +0000 (14:53 +0200)]
iwlwifi: move debugfs registration function declarations

They clearly belong into iwl-agn.h as they have no
relation to the (generic) debug logging framework.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: remove debugfs logspam
Johannes Berg [Fri, 30 Mar 2012 07:37:39 +0000 (09:37 +0200)]
iwlwifi: remove debugfs logspam

There really is no point in printing very verbose
error messages when somebody tries to access a
debugfs file before it is ready. Or even worse,
printing verbose messages when memory allocation
fails which *already* prints a huge warning.

Remove all IWL_ERR messages from debugfs.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: properly set basic rates
Johannes Berg [Thu, 8 Mar 2012 08:37:53 +0000 (09:37 +0100)]
iwlwifi: properly set basic rates

This fixes a long-standing bug: iwlwifi always assumes
that the CCK ACK rates are 1 and 2 MBps and the OFDM
ACK rates are 6, 12 and 24 MBps. Fix this problem by
using the basic rates the AP (or in AP case hostapd)
told us to use and add the necessary mandatory rates
to the mix.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: Added debugfs calib disabled write
David Spinadel [Sat, 31 Mar 2012 15:31:05 +0000 (08:31 -0700)]
iwlwifi: Added debugfs calib disabled write

Added the option to disable calibration via debugfs.

Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: provide proper API to disable all interrupts
Emmanuel Grumbach [Sat, 31 Mar 2012 15:28:38 +0000 (08:28 -0700)]
iwlwifi: provide proper API to disable all interrupts

Since the op_mode may go away, the transport needs to be able to
be told not to update the op_mode at all (even for RF kill).
Provide this API and use it in the proper places.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: check RF kill register when interrupts have been disabled
Emmanuel Grumbach [Wed, 28 Mar 2012 08:34:02 +0000 (10:34 +0200)]
iwlwifi: check RF kill register when interrupts have been disabled

Since the interrupts have been disabled, we may have missed an RF
kill interrupt. Check the register to be sure the op_mode is in
sync.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: enable RF kill interrupt in start_hw
Emmanuel Grumbach [Wed, 28 Mar 2012 08:33:09 +0000 (10:33 +0200)]
iwlwifi: enable RF kill interrupt in start_hw

The op_mode wants to know about changes in HW RF kill state.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: first enable RF kill interrupt, then check register
Emmanuel Grumbach [Wed, 28 Mar 2012 07:57:46 +0000 (09:57 +0200)]
iwlwifi: first enable RF kill interrupt, then check register

This can solve a race (very unlikely to happen though).

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agoiwlwifi: make a static inline to read the RF kill register
Emmanuel Grumbach [Wed, 28 Mar 2012 09:00:58 +0000 (11:00 +0200)]
iwlwifi: make a static inline to read the RF kill register

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
12 years agort2800: add chipset revision RT5390R support
Anisse Astier [Mon, 23 Apr 2012 10:33:11 +0000 (12:33 +0200)]
rt2800: add chipset revision RT5390R support

About 70% of the chips with revision RT5390R initialize incorrectly, using
the auxiliary antenna instead of the main one. The net result is that
signal reception is very poor (no AP further than 1M).

This chipset differs from RT5390 and RT5390F by its support of hardware
antenna diversity. Therefore antenna selection should be done
differently, by disabling software features and previously selected
antenna.

This changeset does just that, and makes all RT5390R work properly.

This is based on Ralink's 2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
driver.

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agocfg80211: Validate legacy rateset.
Bala Shanmugam [Fri, 20 Apr 2012 13:42:58 +0000 (19:12 +0530)]
cfg80211: Validate legacy rateset.

Legacy rates are not validated while configuring
tx rateset using iw. So below cmd is accepted by nl80211.
sudo iw wlan2 set bitrates legacy-2.4 1 2 3

Validate legacy rates and return
error if any rate in the rateset is not valid.

Signed-off-by: Bala Shanmugam <bkamatch@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomac80211: declare ieee80211_ave_rssi as EXPORT
Wey-Yi Guy [Fri, 20 Apr 2012 18:57:00 +0000 (11:57 -0700)]
mac80211: declare ieee80211_ave_rssi as EXPORT

ieee80211_ave_rssi need to be declare as export for driver to use it.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomac80211: fixup for mesh TSF adjustment latency in Toffset setpoint
Javier Cardona [Fri, 20 Apr 2012 16:52:56 +0000 (09:52 -0700)]
mac80211: fixup for mesh TSF adjustment latency in Toffset setpoint

The original patch defined the correction margin but did not apply it.

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>
12 years agoath9k: extend DFS detector stats in dfs_debugfs
Zefir Kurtisi [Fri, 20 Apr 2012 15:20:34 +0000 (17:20 +0200)]
ath9k: extend DFS detector stats in dfs_debugfs

Extend debugfs entry for dfs_stats with DFS detection events
and shared pool statistics.

Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: don't strip mic on non-encrypted frames in tkip
Michael Liang [Fri, 20 Apr 2012 09:11:57 +0000 (17:11 +0800)]
ath9k: don't strip mic on non-encrypted frames in tkip

Fix the following bug: in tkip mode, qos-null ps on/off packets
are dropped due to incorrect packet length so that ath9k softap
can't handle powersave state transition of peer STA correctly.

Signed-off-by: Michael Liang <mliang@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agortlwifi: rtl8192se: Convert driver to use private dm struct
Larry Finger [Thu, 19 Apr 2012 21:32:44 +0000 (16:32 -0500)]
rtlwifi: rtl8192se: Convert driver to use private dm struct

Convert driver to use private version of dig_t instead of global version.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agortlwifi: rtl8192de: Convert driver to use private dm structs
Larry Finger [Thu, 19 Apr 2012 21:32:43 +0000 (16:32 -0500)]
rtlwifi: rtl8192de: Convert driver to use private dm structs

Convert driver to use the private dig_t instead of a global version.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agortlwifi: rtl8192c: Convert driver to use private ps_t struct
Larry Finger [Thu, 19 Apr 2012 21:32:42 +0000 (16:32 -0500)]
rtlwifi: rtl8192c: Convert driver to use private ps_t struct

Convert driver to use the private instead of global version.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agortlwifi: rtl8192c: Convert driver to use private dm structs
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>
12 years agortlwifi: Add dm structs to private structure
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>
12 years agortlwifi: Move dig_t and ps_t structs
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>
12 years agoath9k_hw: increase tx abort timeout for half/quarter channels
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>
12 years agoath9k_hw: disable fast channel change when changing from/to half/quarter mode
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>
12 years agoath9k_hw: disable Tx IQ calibration on half/quarter channels
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>
12 years agoath9k_hw: fix and clean up PHY activation delay
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>
12 years agoath9k_hw: increase symbol overlap window for half/quarter channels
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>
12 years agoath9k_hw: set the PHY mode for half/quarter channels on AR9003
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>
12 years agoath9k_hw: increase ACK timeout for half/quarter channels
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>
12 years agoath9k_hw: use standard SIFS time as reference for half/quarter channels
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>
12 years agoath9k_hw: remove ATH_BTCOEX_CFG_MCI
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>
12 years agoath9k: simplify beacon configuration for beaconing vifs
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>
12 years agoath9k: make DFS detector pools SMP safe
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>
12 years agolibertas: add missing include
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>
12 years agort2x00: Use GFP_KERNEL for rx buffer allocation on USB devices
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>
12 years agort2800: debugfs register access: BBP is 256 bytes big
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>
12 years agomwifiex: add support for Marvell USB8797 chipset
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>
12 years agomac80211: fix STA channel width field
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>
12 years agomac80211: don't set mesh peer ht caps if ht disabled
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>
12 years agomac80211: refactor mesh peer rate handling
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>
12 years agomac80211: refactor mesh peer initialization
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>
12 years agoath9k: fix TX power reporting on AR9003 chips
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>
12 years agolibertas CS: convert to asynchronous firmware loading
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>
12 years agoath9k: Fix compile warnings when DEBUGFS is disabled.
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>
12 years agomac80211: Support on-channel scan option.
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>
12 years agowireless: rt2x00: rt2800usb more devices were identified
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>
12 years agoath9k: add possible wiphy interface combinations
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>
12 years agowireless: rt2x00: rt2800usb add more devices ids
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>
12 years agoiwlwifi: move iwl_rxon_context_id to user
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>
12 years agoiwlwifi: improve TX cache footprint
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>
12 years agoiwlwifi: split between AGG_ON and AGG_STARTING
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>
12 years agoiwlwifi: Remove inconsistent and redundant declaration
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>
12 years agoiwlwifi: Added foreward declaration for iwl_cfg in op_mode
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>
12 years agoiwlwifi: Change disable calibration bit-set to enum
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>
12 years agoiwlwifi: remove unneeded includes
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>
12 years agoiwlwifi: remove the shared area
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>
12 years agoiwlwifi: don't use shared for the logger any more
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>
12 years agoiwlwifi: driver holds its pointer to the transport
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>
12 years agoiwlwifi: transport holds its pointer to the config
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>
12 years agoiwlwifi: driver holds its pointer to the config
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>
12 years agoiwlwifi: op_mode holds its pointer to the config
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>
12 years agoiwlwifi: op_mode holds its pointer to the transport
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>
12 years agoiwlwifi: kill shrd->drv, driver points to transport
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>
12 years agomwifiex: corrections in timestamp related code
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>
12 years agomwifiex: code cleanup in BSS handling
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>
12 years agolibertas USB: convert to asynchronous firmware loading
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>
12 years agolibertas SDIO: convert to asynchronous firmware loading
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>
12 years agolibertas: add asynchronous firmware loading capability
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>
12 years agolibertas: harden-up exit paths
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>
12 years agolibertas: Firmware loading simplifications
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>
12 years agort2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails
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>
12 years agoath9k: use ath9k_hw_fbin2freq instead of FBIN2FREQ
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>
12 years agoath9k: move ath9k_hw_fbin2freq function to eeprom.h
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>
12 years agoath9k: remove unused PWRINC_*_TO_*_CHAIN defines
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>
12 years agoath9k: merge power correction constants
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>
12 years agodrivers/net/wireless/libertas/if_usb.c: add missing debugging code
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>
12 years agoiwlwifi: remove get_cmd_string
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>
12 years agoiwlwifi: optimize struct iwl_cmd_meta layout
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>
12 years agoiwlwifi: expose static methods for MVM use
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>
12 years agoiwlwifi: phy db channel to tx power channel group
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>